АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
365 of 410 menu

Каманда throw

Каманда throw выкарыстоўваецца для відавочнага выкіду выключэння ў PHP. Яна прымае адзін параметр - аб'ект выключэння, які павінен быць асобнікам класа, успадакаванага ад базавага класа Exception. Пры выкліку гэтай функцыі выкананне бягучага кода неадкладна спыняецца, і PHP спрабуе знайсці адпаведны блок catch для апрацоўкі выключэння.

Сінтаксіс

throw new ExceptionClass(message, code, previous);

Прыклад

Просты прыклад генерацыі выключэння:

<?php $age = -5; if ($age < 0) { throw new Exception('Age cannot be negative'); } ?>

Вынік выканання кода:

Fatal error: Uncaught Exception: Age cannot be negative

Прыклад

Прыклад з апрацоўкай выключэння:

<?php try { $res = 10 / 0; if (is_infinite($res)) { throw new Exception('Division by zero'); } } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); } ?>

Вынік выканання кода:

'Error: Division by zero'

Прыклад

Выкарыстанне карыстальніцкага выключэння:

<?php class MyCustomException extends Exception {} try { throw new MyCustomException('Custom error message'); } catch (MyCustomException $e) { echo 'Custom error caught: ' . $e->getMessage(); } ?>

Вынік выканання кода:

'Custom error caught: Custom error message'

Глядзіце таксама

  • канструкцыю try,
    якая вызначае блок кода для апрацоўкі выключэнняў
  • канструкцыю catch,
    якая перахоплівае і апрацоўвае выключэнні
  • клас Exception,
    які з'яўляецца базавым класам для ўсіх выключэнняў
byenru