Команда 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'