Как игнорировать исключения в java

Аватар пользователя Никита Сысоев
Никита Сысоев
06 октября 2022

Игнорировать исключения не стоит, даже если есть уверенность, что такой кейс невозможен, это может привести к неожиданному поведению в будущем. Но если очень хочется, можно сделать это с конструкцией 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

Похожие вопросы