Объясните различия между проверяемыми и непроверяемыми исключениями в Java
Answer from AI
sobes.tech AI
В Java исключения делятся на проверяемые (checked) и непроверяемые (unchecked).
-
Проверяемые исключения — это исключения, которые компилятор требует обработать явно. Они наследуются от класса
Exception, но не отRuntimeException. Пример:IOException,SQLException. При вызове метода, который может выбросить проверяемое исключение, нужно либо обработать его в блокеtry-catch, либо объявить вthrows. -
Непроверяемые исключения — наследуются от
RuntimeException. Компилятор не требует их обязательной обработки. Пример:NullPointerException,IllegalArgumentException. Обычно они возникают из-за ошибок программирования и не должны обрабатываться явно.
Пример:
try {
FileInputStream fis = new FileInputStream("file.txt"); // IOException - проверяемое
} catch (IOException e) {
e.printStackTrace();
}
int a = 5 / 0; // ArithmeticException - непроверяемое
Таким образом, проверяемые исключения требуют явной обработки, а непроверяемые — нет.