Как игнорировать исключения в java
Ответы
Игнорировать исключения не стоит, даже если есть уверенность, что такой кейс невозможен, это может привести к неожиданному поведению в будущем. Но если очень хочется, можно сделать это с конструкцией try-catch
, где в блоке catch
нет логики:
try {
int number = Integer.parseInt("zyb"); // Будет выброшено исключение NumberFormatException
} catch (NumberFormatException e) { // Здесь мы его ловим, но не обрабатываем, как будто его и не было
}
// Программа мало того, что скомпилируется, так еще и "не упадет" в процессе выполнения...
Опять же так делать не стоит. Исключение можно обработать и залоггировать, например, с помощью фреймворка Log4j
, добавив зависимость в Gradle
.
// Получаем объект класса Logger, указывая класс, где будем отслеживать исключения
Logger logger = LogManager.getLogger(Main.class.getName());
try {
int number = Integer.parseInt("zyb"); // Будет выброшено исключение NumberFormatException
} catch (NumberFormatException e) { // Здесь мы его ловим и обрабатываем
// Логгируем наше исключение
logger.error(e); // => 17:05:17.192 [main] ERROR Main - java.lang.NumberFormatException: For input string: "zyb"
}
Также мы можем пробросить исключение дальше, теперь задача по обработке этого исключения будет у метода (или другого человека), вызвавшего данный метод с исключением:
// Пробрасываем исключение дальше
public static void run() throws NumberFormatException{
int number = Integer.parseInt("zyb");
}
0
0