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
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Esimerkki
Luodaan ja käsitellään yksinkertainen poikkeus:
<?php
try {
throw new Exception('Jotain meni pieleen', 100);
} catch (Exception $e) {
echo 'Virhe: ' . $e->getMessage();
}
?>
Koodin suorituksen tulos:
'Virhe: Jotain meni pieleen'
Esimerkki
Käytetään Exception-luokan perusmenetelmiä:
<?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):
'Viesti: Testipoikkeus
Koodi: 123
Tiedosto: /polku/tiedostoon.php
Rivi: 3'
Esimerkki
Saadaan kutsupino poikkeuksen yhteydessä:
<?php
function test() {
throw new Exception('Kutsupinotesti');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Koodin suorituksen tulos (esimerkki):
[
[
'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