@ubuntu_lts

Какой класс использовать при throw + try/catch для вывода простых алертов юзеру?

Что-то не соответствует условию - кидаю исключение с текстом, в try/catch поймал и вывел юзеру красным.

А вот сильно ли влияет, какой подкласс использовать для выброса, там их много разных: Error, Exception, DomainException и т.д.

Существует ли разница и что (какой-то один класс) мне использовать просто для выброса сообщения?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 2
maksim92
@maksim92 Куратор тега PHP
Нашёл решение — пометь вопрос ответом!
  • Exception — это базовый класс для всех исключений в PHP 5 и базовый класс для всех пользовательских исключений в PHP 7.
  • Error - базовый класс для всех внутренних ошибок PHP.

Все пользовательские исключения наследуются от базового Exeption.

Если вам нужно просто выбросить сообщение о любом пользовательском исключении, то используйте Exeption. А если хотите обработать какой-то особенный тип исключения, например, доменный, то используйте DomainException в try catch и показывайте ошибки доменных исключений.
Ответ написан
Adamos
@Adamos
Какой класс используете вы в собственном коде от try до catch - по большому счету, неважно.
Важно то, что ваш код в этих пределах может вызывать функции, которые, в свою очередь, могут выбрасывать исключения того же типа - и проработать сценарий работы с ними. Чтобы ненароком не вывести пользователю слишком много информации, например.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@FanatPHP
Чебуратор тега PHP
Не имеет ни малейшего значения, до тех пор, пока для пользовательских ошибок исключение, которое ни при каких обстоятельствах не будет выброшено самим РНР.

То есть для надежности проше всего завести свой собственный класс, и ловить его отдельно от системных ошибок.
Которые, как выше уже сказали, ни при каких обстоятельствах не должны выводиться на екран на боевом сайте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы