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
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Esempio
Creiamo e gestiamo una semplice eccezione:
<?php
try {
throw new Exception('Qualcosa è andato storto', 100);
} catch (Exception $e) {
echo 'Errore: ' . $e->getMessage();
}
?>
Risultato dell'esecuzione del codice:
'Errore: Qualcosa è andato storto'
Esempio
Utilizziamo i metodi principali della classe Exception:
<?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):
'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
function test() {
throw new Exception('Test traccia dello stack');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Risultato dell'esecuzione del codice (esempio):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Vedi anche
-
classe
ErrorException,
che rappresenta gli errori come eccezioni -
funzione
set_exception_handler,
che imposta un gestore di eccezioni personalizzato