Kommandot throw
Kommandot throw används för att uttryckligen kasta ett undantag i PHP.
Det tar en parameter - ett undantagsobjekt, som måste vara en instans av en klass
som ärver från basklassen Exception. När denna funktion anropas avbryts körningen av
nuvarande kod omedelbart, och PHP försöker hitta motsvarande catch-block för att hantera undantaget.
Syntax
throw new ExceptionClass(message, code, previous);
Exempel
Ett enkelt exempel på att generera ett undantag:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Ålder kan inte vara negativt');
}
?>
Resultat av kodkörning:
Fatal error: Uncaught Exception: Ålder kan inte vara negativt
Exempel
Exempel med undantagshantering:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division med noll');
}
} catch (Exception $e) {
echo 'Fel: ' . $e->getMessage();
}
?>
Resultat av kodkörning:
'Fel: Division med noll'
Exempel
Användning av ett anpassat undantag:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Anpassat felmeddelande');
} catch (MyCustomException $e) {
echo 'Anpassat fel fångat: ' . $e->getMessage();
}
?>
Resultat av kodkörning:
'Anpassat fel fångat: Anpassat felmeddelande'