Всем привет! Есть такой кусок кода -
if (!checkValidationCircle()) {
throw new NotCircleException("Круг не существует! Проверьте параметры круга!");
}
NotCircleException это мною созданное исключение, которое я наследовал от Exception, затем ловил его в try-catch и с помощью
System.out.println(e.getMessage())
выводил это сообщение в консоль. Теперь я решил отнаслдеовать мое исключение от RuntimeException и таким образом избавиься от try-catch, но НЕ ЗНАЮ ТЕПЕРЬ как сделать так, чтобы это сообщение так же хорошо выводилось в консоль, а не красной записью как теперь...
RuntimeException
и все его дочерние классы это непроверяемые исключения (англ. unchecked exceptions), для них не является обязательным блок try-catch
, но это не означает, что выполнение программы продолжится после возникновения этого исключения.
В вашем случае, после выбрасывания исключения NotCircleException
, которое является unchecked, выводится StackTrace (точно так же, как если бы в catch
блоки вы вызвали e.printStackTrace()
) и выполнение текущего потока завершается.
Идея "избавления" от блока try-catch
может быть ошибочной, так как если вам нужно обработать это исключение и вывести пользовательское сообщение, то вы должны использовать проверяемые исключения (англ. checked exception) и блок try-catch
.
Из документации Oracle:
Generally speaking, do not throw a RuntimeException or create a subclass of RuntimeException simply because you don't want to be bothered with specifying the exceptions your methods can throw.
Here's the bottom line guideline: If a client can reasonably be expected to recover from an exception, make it a checked exception. If a client cannot do anything to recover from the exception, make it an unchecked exception.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я написал datasourse файл и поместил его в deployment-каталог сервера WildFly туда же поместил JDBC драйвер
Решаю похожие задачи для отбора на стажировку в Яндекс, вроде решил задачу, но выдает WA (Wrong Answer)
В таблице есть 2 поля (product_id и category_id)Как должен выглядеть запрос, чтобы получить только те товары, которые принадлежат всем категориям в условии...
Как добиться эффекта который вы можете посмотреть нижеУ body фон другой, а у sidebar-a другой к тому же он имеет изогнутый вид и тень