Exception-klassen

Klassen Exception representerer grunnklassen for alle unntak i PHP. Den inneholder grunnleggende metoder for arbeid med unntak: henting av feilmelding, feilkode, fil og linje hvor unntaket oppstod, samt samt call stack. Ved opprettelse av et unntak kan man sende en melding, feilkode og forrige unntak.

Syntaks

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

Eksempel

La oss opprette og håndtere et enkelt unntak:

php<?php
  try {
    throw new Exception('Noe gikk galt', 100);
  } catch (Exception $e) {
    echo 'Feil: ' . $e->getMessage();
  }
?>

Resultat av kjøring:

php'Feil: Noe gikk galt'

Eksempel

La oss bruke hovedmetodene til Exception-klassen:

php<?php
  try {
    throw new Exception('Testunntak', 123);
  } catch (Exception $e) {
    echo 'Melding: ' . $e->getMessage() . "\n";
    echo 'Kode: ' . $e->getCode() . "\n";
    echo 'Fil: ' . $e->getFile() . "\n";
    echo 'Linje: ' . $e->getLine() . "\n";
  }
?>

Resultat av kjøring (eksempel):

php'Melding: Testunntak
Kode: 123
Fil: /path/to/file.php
Linje: 3'

Eksempel

La oss hente call stack ved et unntak:

php<?php
  function test() {
    throw new Exception('Stack trace test');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

Resultat av kjøring (eksempel):

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

Se også