26. La Classe Exception

La classe Exception è una classe built-in, ossia nativa del linguaggio PHP.

E' possibile estendere questa classe, creandone delle proprie derivate da essa, ma prima di creare le nostre Sottoclassi personalizzate è necessario conoscere Exception e sapere che opportunità ci offre.

Vediamo subito la dichiarazione della classe :

<?php

	class Exception
	{
		protected $message = 'Unknown exception'; // exception message
		protected $code = 0; // user defined exception code
		protected $file; // source filename of exception
		protected $line; // source line of exception

		function __construct($message = null, $code = 0);

		final function getMessage(); // message of exception 
		final function getCode(); // code of exception
		final function getFile(); // source filename
		final function getLine(); // source line
		final function getTrace(); // an array of the backtrace()
		final function getTraceAsString(); // formated string of trace

		/* Overrideable */
		function __toString(); // formated string for display
	}

?>

Diamo un occhiata più da vicino alle proprietà della suddetta classe :

Attributi protetti

  • $message - Il messaggio dell'eccezione
  • $code - Il codice errore definito dall'utente
  • $file - Il file sorgente dove è stata sollevata l'eccezione
  • $line - La riga del sorgente dove è stata sollevata l'eccezione

Costruttore

  • __construct() - Costruttore della classe

Metodi finali

  • getMessage() - Restituisce $message
  • getCode() - Restituisce $code
  • getFile() - Restituisce $file
  • getLine() - Restituisce $line
  • getTrace() - Restituisce un array di backtrace()
  • getTraceAsString() - Restituisce una stringa formattata del trace

Metodi ridefinibili

  • __toString() - Restituisce una stringa formattata dell'oggetto

Nel prossimo capitolo approfondiremo l'argomento creando delle sottoclassi di Exception, per una gestione delle eccezioni maggiormente personalizzata.