От автора: в PHP обработка ошибок и предоставление отчетов происходит с помощью новой процедуры. Вместо того, чтобы сообщать об ошибках через традиционный механизм отчетов об ошибках, используемый в PHP 5, теперь большинство ошибок обрабатываются путем их исключения. Как и в случае исключений, эти ошибки накапливаются до достижения первого совпадающего блока catch. Если соответствующих блоков не найдено, будет вызываться обработчик исключений по умолчанию, установленный с помощью set_exception_handler(). В случае отсутствия обработчика исключений по умолчанию исключение будет преобразовано в критическую ошибку, и оно будет обрабатываться как традиционная ошибка.
Поскольку иерархия ошибок не распространяется на Exception, код, который используют в PHP 5 блоки catch (Exception $ e) {…} для обработки неопределенных исключений, не будет обрабатывать такие ошибки. Для обработки критических ошибок требуется (Error $ e) {…} или обработчик set_exception_handler().
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php class MathOperations { protected $n = 10; // Пытаемся получить Division от объекта ошибок Zero и вывести его, как Исключение public function doOperation(): string { try { $value = $this->n % 0; return $value; } catch (DivisionByZeroError $e) { return $e->getMessage(); } } } $mathOperationsObj = new MathOperations(); print($mathOperationsObj->doOperation()); ?> |

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля
Получить курс сейчас!Этот код выводит в браузере следующее: Modulo by zero
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.

Разработка веб-приложения на PHP
Скачайте видеокурс и узнайте, как создать веб-приложение на PHP
Скачать