Исключения в Java - это особый механизм обработки ошибок, который позволяет программисту предотвратить аварийное завершение программы в случае возникновения ошибки. Ну вот например, пользователь своими ручками вводит текст туда, где программа ожидает число. Дальше она пытается что-то с этим текстом сделать и ломается из-за ошибки. Так вот, эти исключения позволяют программе продолжить работу, в крайнем случае чуть-чуть поругавшись на пользователя.
Для обработки исключений в Java, да и в некоторых других языках используется конструкция try-catch(-finally). При возникновении внештатной ситуации в блоке try, выполнение программы переходит к блоку catch, где происходит обработка исключения. В блоке catch можно определить тип исключения, которое мы ожидаем, и выполнить необходимые действия.
try {
// Код, который может вызвать исключение
} catch (ExceptionType1 e1) {
// Обработка исключения типа ExceptionType1
} catch (ExceptionType2 e2) {
// Обработка исключения типа ExceptionType2
} catch (Exception e) {
// Обработка исключения типа Exception
} finally {
// Блок finally выполняется всегда, даже если было выброшено исключение
}
Кроме того, ты можешь в Java можно создавать свои пользовательские исключения. Для этого нужно создать класс, который наследуется от класса Exception или его потомков.
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
Затем можно использовать свое исключение в коде:
try {
if (condition) {
throw new MyException("Сообщение об ошибке");
}
} catch (MyException e) {
System.out.println(e.getMessage());
}
Точно так же от верхнего класса Exception наследуются и другие встроенные типы ошибок типа деления на ноль, ошибки отсутствия индекса в массиве и так далее.
Я понимаю, что у тебя могут появиться еще вопросы - задавай, не стесняйся. Завтра будем разбираться с вопросами DevOps, но программистам и тестировщикам, на мой взгляд их понимание не менее важно, хотя эти вопросы обычно на курсах никто не объясняет. Подписывайся чтобы не пропустить!