Classe Exception

La classe Exception rappresenta la classe base per tutte le eccezioni in PHP. Contiene i metodi principali per lavorare con le eccezioni: ottenere il messaggio di errore, il codice di errore, il file e la riga dove è stata generata l'eccezione, oltre alla traccia dello stack delle chiamate. Quando si crea un'eccezione, è possibile passare un messaggio, un codice di errore e l'eccezione precedente.

Sintassi

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

Esempio

Creiamo e gestiamo una semplice eccezione:

php<?php
  try {
    throw new Exception('Qualcosa è andato storto', 100);
  } catch (Exception $e) {
    echo 'Errore: ' . $e->getMessage();
  }
?>

Risultato dell'esecuzione del codice:

php'Errore: Qualcosa è andato storto'

Esempio

Utilizziamo i metodi principali della classe Exception:

php<?php
  try {
    throw new Exception('Eccezione di test', 123);
  } catch (Exception $e) {
    echo 'Messaggio: ' . $e->getMessage() . "\n";
    echo 'Codice: ' . $e->getCode() . "\n";
    echo 'File: ' . $e->getFile() . "\n";
    echo 'Riga: ' . $e->getLine() . "\n";
  }
?>

Risultato dell'esecuzione del codice (esempio):

php'Messaggio: Eccezione di test
Codice: 123
File: /path/to/file.php
Riga: 3'

Esempio

Otteniamo la traccia dello stack delle chiamate durante un'eccezione:

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

Risultato dell'esecuzione del codice (esempio):

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

Vedi anche