Kommandot try
Konstruktionen try gör det möjligt att hantera undantag som kan uppstå när koden exekveras.
I try-blocket placeras den potentiellt farliga koden, och i catch-blocket - hanteraren för undantag.
Ett finally-block kan också användas, som exekveras under alla omständigheter.
Syntax
try {
// Kod som kan orsaka ett undantag
} catch (ExceptionType $e) {
// Hantering av undantag
} finally {
// Kod som alltid kommer att exekveras
}
Exempel
Ett enkelt exempel på hantering av ett undantag:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
Resultat av kodexekvering:
'Caught exception: Something went wrong'
Exempel
Exempel med användning av finally-blocket:
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
Resultat av kodexekvering:
'Try block executed - Finally block executed'
Exempel
Hantering av olika typer av undantag:
<?php
try {
// Kod som kan orsaka olika undantag
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
Resultat av kodexekvering:
'Invalid argument: Invalid argument'
Se även
-
konstruktionen
throw,
som genererar ett undantag -
funktionen
set_exception_handler,
som ställer in en hanterare för undantag