ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
366 of 410 menu
Хочешь читать code.mu на своем родном языке? Помоги с переводом! Переведем мы сами, тебе нужно указать на ошибки перевода:) Оставляй заявку ->

Класс Exception

Класс Exception представляет собой базовый класс для всех исключений в PHP. Он содержит основные методы для работы с исключениями: получение сообщения об ошибке, кода ошибки, файла и строки где возникло исключение, а также стека вызовов. При создании исключения можно передать сообщение, код ошибки и предыдущее исключение.

Синтаксис

new Exception(string $message = "", int $code = 0, Throwable $previous = null);

Пример

Создадим и обработаем простое исключение:

<?php try { throw new Exception('Something went wrong', 100); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); } ?>

Результат выполнения кода:

'Error: Something went wrong'

Пример

Используем основные методы класса Exception:

<?php try { throw new Exception('Test exception', 123); } catch (Exception $e) { echo 'Message: ' . $e->getMessage() . "\n"; echo 'Code: ' . $e->getCode() . "\n"; echo 'File: ' . $e->getFile() . "\n"; echo 'Line: ' . $e->getLine() . "\n"; } ?>

Результат выполнения кода (пример):

'Message: Test exception Code: 123 File: /path/to/file.php Line: 3'

Пример

Получим стек вызовов при исключении:

<?php function test() { throw new Exception('Stack trace test'); } try { test(); } catch (Exception $e) { print_r($e->getTrace()); } ?>

Результат выполнения кода (пример):

[ [ 'file' => '/path/to/file.php', 'line' => 5, 'function' => 'test', 'args' => [] ] ]

Смотрите также

  • класс ErrorException,
    который представляет ошибки в виде исключений
  • функцию set_exception_handler,
    которая устанавливает пользовательский обработчик исключений
byenru