У меня есть определенный класс с некоторыми методами в нем, один из которых генерирует исключение в соответствии с следующим, когда выполняются определенные ошибочные критерии:
PHP
if ($this->mode !== null) { throw new LogicException('Nem kezdhető új "insert" utasítás.'); }
Если я не обработаю эту ошибку, PHP покажет сообщение «Fatal Error», как ожидалось, но не пользовательское сообщение, которое было передано в первый параметр конструктора LogicException
:
Неустранимая ошибка : в /home/uxxxxxxxxx/public_html/test.php в строке 87
Я ожидал, что выброс исключения за пределы блока try ... catch
приведет к следующему выводу в браузере:
Неустранимая ошибка : Nem kezdhető új "insert" utasítás. в /home/uxxxxxxxxx/public_html/test.php в строке 87
Если я укажу настраиваемый обработчик исключений, можно отобразить исходное сообщение, хотя и в другом стиле. Я знаю, как я мог подражать оригинальному поведению PHP, обрабатывая увлекательные фатальные ошибки, но я думаю, что сообщение должно отображаться без необходимости этого, просто путем выброса исключенного исключения.
Примечание: замена LogicException
на Exception
ничего не меняет.