ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.04.2024
Просмотров: 13
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Что происходит если не обработать исключение?
Что такое подавленные исключения?
Что такое ресурс в конструкции try-with-resources?
Какое исключение вылетит?
Какие есть уровни логирования и для чего они нужны?
Для контроля объема информации и уменьшения нагрузки из-за процесса логирования создали уровни логирования. Логгер можно конфигурировать для того, чтобы игнорировать логи с уровнем ниже заданного, например логгер WARNING будет записывать SEVERE и WARNING, но будет пропускать все что ниже него INFO и ниже.
(детальное логирование)
Обязательно ли передавать в метод getLogger() имя класса?
-
Если не обработать проверяемые исключения или не передать вызывающему методу, то программу нельзя будет скомпилировать. -
Непроверяемые компилятором исключения должен контролировать сам программист. В случае необработанной ошибки программа завершит свое выполнение.
Что такое подавленные исключения?
-
Подавленное исключение — это исключение, которое выбрасывается, но каким-то образом игнорируется. Распространенный сценарий для этого в Java — это когда блок finally создает исключение, а любое исключение, первоначально возникшее в блоке try , подавляется.
-
Получить доступ к подавленному исключению возможно, например, если использовать метод addSuppressed() в блоке finally и передать в качестве параметра исходное исключение из блока catch через промежуточную переменную, что бы исключение не потерялось.
Что такое ресурс в конструкции try-with-resources?
-
Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally. -
Ресурсом называется объект, являющийся экземпляром класса, который реализует интерфейс java.lang.AutoCloseable или java.io.Closable -
Можно указывать несколько ресурсов разделяя их точкой с запятой. -
Закрываться эти ресурсы будут в порядке, обратном их объявлению. -
В Java 9 стало возможным использовать в try-блоке ресурсы, объявленные вне try-блока. -
Ресурс становится final и его нельзя изменить. -
При выходе из блока try-with-resources будет вызван метод close() и освобождены все ресурсы.
-
Брошенное try-блоком исключение имеет больший приоритет, чем исключения, получившиеся во время закрытия. В конструкции try-finally наоборот, исключение из finally перекроет исключение в try.
Какое исключение вылетит?
-
Исключение в try перекроет исключение в close
-
Исключение будет подавленно, и его можно получить через метод getSuppress.
-
catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally(ментор сказал в неявном try catch), который компилятор сам неявно создаёт.
Какие есть уровни логирования и для чего они нужны?
Для контроля объема информации и уменьшения нагрузки из-за процесса логирования создали уровни логирования. Логгер можно конфигурировать для того, чтобы игнорировать логи с уровнем ниже заданного, например логгер WARNING будет записывать SEVERE и WARNING, но будет пропускать все что ниже него INFO и ниже.
-
SEVERE (серьезные ошибки программы) -
WARNING (предупреждение) -
INFO (информационное сообщение) -
CONFIG (конфигурационные параметры)
(детальное логирование)
-
FINE (сообщение об успешной операции) -
FINER -
FINEST
-
OFF(отключить) -
ALL(записывать все)
Обязательно ли передавать в метод getLogger() имя класса?
-
Нет не обязательно, можно передать любой строковый параметр. Но желательно.
-
Легко проверить класс ведения журнала, так как имя журнала будет отображаться в файле журнала. Можно быстро перейти к определенному классу. -
Не нужно беспокоиться о дублировании имен журналов в сложном приложении. Имя всегда будет уникальным.
-
SEVERE (серьезные ошибки программы) -
WARNING (предупреждение) -
INFO (информационное сообщение)
-
В классе Level первым параметром идет строковое название уровня логирования, а вторым параметром int значение приоритета. У уровня info приоритет 800 у warning 900, чем больше значение, тем выше приоритет.