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