Ругается обработчик ошибок, мол проблем с записью в БД быть не может
Совершенно непонятно. Код, который просто записывает поля в БД
if (findTypeIncRequestByName == null) {
try {
typeIncomingRequestRepo.save(typeIncomingRequest);// Пытаюсь записать в БД
return "Способ связи " + typeIncomingRequest.getName() + " успешно добавлен";
} catch (SQLException e) {
e.printStackTrace();
return "Database error";
}
} else {
return "Способ связи " + typeIncomingRequest.getName() + " уже существует";
}
Среда разработки мне подчеркивает SQLException и пишет что такой быть не может
"is never thrown in the corresponding try block"
Ответы (1 шт):
Класс SQLException наследуется от java.lang.Exception, поэтому является проверяемым исключением. Если IJ показывает, что исключение не возникает в блоке try-catch, то, значит оно не возникает в блоке и во всех вызовах из блока, а также оно может быть перехвачено в вызываемом/ввполняемом коде.
Надо смотреть на метод save() и обрабатывать те исключения, которые у него записаны в определении throws.
Возможно у вас при вызове может возникать другое исключение, которое требуется отлавливать, к также если возникает не проверяемое исключение, то его можно отлавливать явно в блоке try-catch. В каких случаях нужно отлавливать такие исключения можно почитать здесь.
