В некоторых библиотеках обычной практикой является создание пользовательских классов исключений для каждого состояния ошибки, например:
class FileNotFound_Exception extends Exception {}
Вы можете обрабатывать определенный тип исключения, но вы не может прочитать весь исходный код всех библиотек, чтобы запомнить каждый класс исключений, и не может в полной мере воспользоваться использованием настраиваемых исключений. В большинстве случаев я просто перехватываю их с помощью базового класса Exception:
catch (Exception $e)
{
// log and display friendly error
}
Есть ли другие способы воспользоваться преимуществами пользовательских классов Exception без написания длинного списка блоков catch? Мне нравятся исключения, но я не знаю, как их правильно использовать. Спасибо.