Exception-luokka
Exception-luokka edustaa kaikkien PHP-poikkeusten perusluokkaa.
Se sisältää perusmenetelmät poikkeusten käsittelyyn: virheilmoituksen saaminen,
virhekoodi, tiedosto ja rivi, jossa poikkeus syntyi, sekä kutsupino.
Poikkeusta luodessa voidaan välittää viesti, virhekoodi ja edellinen poikkeus.
Syntaksi
phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);
Esimerkki
Luodaan ja käsitellään yksinkertainen poikkeus:
php<?php
try {
throw new Exception('Jotain meni pieleen', 100);
} catch (Exception $e) {
echo 'Virhe: ' . $e->getMessage();
}
?>
Koodin suorituksen tulos:
php'Virhe: Jotain meni pieleen'
Esimerkki
Käytetään Exception-luokan perusmenetelmiä:
php<?php
try {
throw new Exception('Testipoikkeus', 123);
} catch (Exception $e) {
echo 'Viesti: ' . $e->getMessage() . "\n";
echo 'Koodi: ' . $e->getCode() . "\n";
echo 'Tiedosto: ' . $e->getFile() . "\n";
echo 'Rivi: ' . $e->getLine() . "\n";
}
?>
Koodin suorituksen tulos (esimerkki):
php'Viesti: Testipoikkeus
Koodi: 123
Tiedosto: /polku/tiedostoon.php
Rivi: 3'
Esimerkki
Saadaan kutsupino poikkeuksen yhteydessä:
php<?php
function test() {
throw new Exception('Kutsupinotesti');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Koodin suorituksen tulos (esimerkki):
php[
[
'file' => '/polku/tiedostoon.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Katso myös
-
luokka
ErrorException,
joka edustaa virheitä poikkeuksina -
funktio
set_exception_handler,
joka asettaa mukautetun poikkeuskäsittelijän