Try-komento
try-rakenne mahdollistaa poikkeusten käsittelyn, joita voi ilmaantua koodin suorituksen aikana.
try-lohkossa sijoitetaan potentiaalisesti vaarallinen koodi, ja catch-lohkossa - poikkeusten käsittelijä.
Myös finally-lohkoa voidaan käyttää, joka suoritetaan kaikissa tapauksissa.
Syntaksi
try {
// Koodi, joka voi aiheuttaa poikkeuksen
} catch (ExceptionType $e) {
// Poikkeuksen käsittely
} finally {
// Koodi, joka suoritetaan kaikissa tapauksissa
}
Esimerkki
Yksinkertainen esimerkki poikkeuksen käsittelystä:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
Koodin suorituksen tulos:
'Caught exception: Something went wrong'
Esimerkki
Esimerkki finally-lohkon käytöstä:
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
Koodin suorituksen tulos:
'Try block executed - Finally block executed'
Esimerkki
Eri tyyppisten poikkeusten käsittely:
<?php
try {
// Koodi, joka voi aiheuttaa erilaisia poikkeuksia
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
Koodin suorituksen tulos:
'Invalid argument: Invalid argument'
Katso myös
-
throw-rakenteen,
joka luo poikkeuksen -
set_exception_handler-funktion,
joka asettaa poikkeusten käsittelijän