В некоторых проектах джунов иногда вижу довольно сильный упор на узко-направленные исключения. Например:
public class UserNotFoundException extends RuntimeException {
public UserNotFoundException(String message) {
super(message);
}
}
public class EventNotFoundException extends RuntimeException {
public EventNotFoundException(String message) {
super(message);
}
}
И так далее, сколько сущностей, столько и исключений. Но поведение у них у всех одно. Поэтому зачем их плодить?
Достаточно создать одно исключение NotFoundException
и использовать его:
public class NotFoundException extends RuntimeException {
public NotFoundException(String message) {
super(message);
}
}
Создавайте самостоятельное исключение, только если предпологается его какая-то особенная обработка, или если существующие исключения вам не подходят. Например, странно бросать NotFoundException
, если ситуация будет связана с проблемами доступа. Тогда лучше создать какой-нибудь AccessException
.