Razred Exception

Razred Exception predstavlja osnovni razred za vse izjeme v PHP. Vsebuje osnovne metode za delo z izjemami: pridobivanje sporočila o napaki, kode napake, datoteke in vrstice, kjer je izjava nastala, ter sklada klicev. Pri ustvarjanju izjeme je mogoče posredovati sporočilo, kodo napake in prejšnjo izjemo.

Sintaksa

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

Primer

Ustvarimo in obdelajmo preprosto izjemo:

php<?php
  try {
    throw new Exception('Nekaj je šlo narobe', 100);
  } catch (Exception $e) {
    echo 'Napaka: ' . $e->getMessage();
  }
?>

Rezultat izvajanja kode:

php'Napaka: Nekaj je šlo narobe'

Primer

Uporabimo glavne metode razreda Exception:

php<?php
  try {
    throw new Exception('Testna izjema', 123);
  } catch (Exception $e) {
    echo 'Sporočilo: ' . $e->getMessage() . "\n";
    echo 'Koda: ' . $e->getCode() . "\n";
    echo 'Datoteka: ' . $e->getFile() . "\n";
    echo 'Vrstica: ' . $e->getLine() . "\n";
  }
?>

Rezultat izvajanja kode (primer):

php'Sporočilo: Testna izjema
Koda: 123
Datoteka: /path/to/file.php
Vrstica: 3'

Primer

Pridobimo sklad klicev pri izjemi:

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

Rezultat izvajanja kode (primer):

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

Glejte tudi