Я почти никогда не использую пользовательские исключения.Когда я вручную генерирую исключение, я предоставляю подробное сообщение.
Я обнаружил, что обслуживание исключений не стоит хлопот.
Обновление
Позволяет поместить это в контекст.Вопрос в том, должен ли кто-то создавать пользовательские исключения в веб-приложении.Я представляю это как простое приложение.
Веб-приложения
В веб-приложениях вам почти НИКОГДА не нужны пользовательские исключения.Данные записываются в базу данных, а данные считываются из базы данных.Затем данные используются каким-то пользовательским интерфейсом: MVC, WPF, WebForms и т. Д. В таком приложении нет возможности для пользовательских исключений.Каждое приложение отличается от других, поэтому в этом случае будут исключения ...
Каркасы
Каркасы - это совершенно другое животное.Как разработчик фреймворка, вы должны понять, почему произошла ошибка.Я ожидаю подробных исключений из фреймворка, может быть, пользовательских, а может и нет.Я ожидаю достаточно информации, чтобы исправить ошибку.
Как отметил @Wyatt Barnett, новое исключение должно предлагать нечто большее, то, что нельзя сделать с существующим классом.
Причина, по которой я бы создал пользовательское исключение
- Для передачи более подробной и конкретной информации об ошибке.
- Для предоставления средствпоймать эти условия ошибки (то есть «FileNotFoundExeception», это позволяет принять бизнес-решение на более высоком уровне.)