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