Правильная реализация глобального ErrorHandler
Добавлено: 2020.04.27, 14:34
Есть глобальный ErrorHandler. Есть желание вместо An internal error has occurred while processing your request отдавать более осмысленные тексты ошибок. Начал с такого:
Всё бы ничего, но теперь сюда попадает текст любых ошибок, в т.ч. те, которые в проде отдавать не нужно - ошибки pdo, несоответствие типов, синтаксические ошибки и т.д.
Хотелось бы отфильтровать "мои" исключения от "не моих". Исключения на данный момент делаю как extends базовых исключения вроде InvalidArgumentException, RuntimeException и т.п.
Решением выглядит объявить одно базовое исключение, и все "мои" наследовать от него, и в обработчике проверять instanceof. Если "моё", текст брать из getMessage(), если нет - подставлять общую фразу "internal error".
Нормально так или есть пути получше?
Код: Выделить всё
$error = new ActionError(
ActionError::SERVER_ERROR,
$exception->getMessage()
);
Хотелось бы отфильтровать "мои" исключения от "не моих". Исключения на данный момент делаю как extends базовых исключения вроде InvalidArgumentException, RuntimeException и т.п.
Решением выглядит объявить одно базовое исключение, и все "мои" наследовать от него, и в обработчике проверять instanceof. Если "моё", текст брать из getMessage(), если нет - подставлять общую фразу "internal error".
Нормально так или есть пути получше?