Не существует «должен» или «лучший» способ обработки ошибок.
Вообще говоря, есть два типа ошибок
- Те, которые обрабатываются другими частями программы. Пользователь никогда не видит и не знает об этих ошибках, по крайней мере, напрямую.
- Те, которые вызвали достаточно сбоев, что пользователь должен быть информирован как таковой.
Обратите внимание, что ни один из них не имеет никакого отношения к конкретным механизмам PHP, которые вы бы использовали для обработки ошибок.
Если вы используете исключения ...
Затем я рекомендую использовать исключения по всем направлениям. Зарегистрировать обработчик исключений и позволить ему выполнять большую часть работы - , включая другие ошибки PHP . Неверные данные для входа?
class InvalidLoginException extends Exception
{
protected $message = 'Login information is incorrect. Please try again.';
}
Тогда у вас есть куча вариантов реализации.
try {
$user->login(); // will throw and InvalidLoginException if invalid
}
catch ( InvalidLoginException $e )
{
// display an error message
}
Или, если вы того пожелаете, пусть обработчик исключений сделает это. Может быть, даже более гибким способом
class ApplicationErrorException extends Exception{}
class InvalidLoginException extends ApplicationErrorException
{
protected $message = 'Login information is incorrect. Please try again.';
}
Затем в обработчике исключений
if ( $exception instanceof ApplicationErrorException )
{
// dislpay error message
}
Но исключения - не единственный способ, и некоторыми даже не считается хорошим способом .