366 of 410 menu

Клас 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,
    която задава потребителски обработчик на изключения
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне