Et travailler en full exceptions !

Comme vu dans doc PHP, voici un moyen de travailler de façon hyper classe et hyper propre, afin que chaque erreur PHP lève une exeption catchable.

Code

Incluez ceci dans un auto preprend file quelconque :

<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
	if ((error_reporting()) & $errno) {
		throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
	}
}
set_error_handler("exception_error_handler");
?>
Exemple
<?php 
try {
     fopen('unknowed_file', 'r');
 
} catch (Exception $oFault) {
    echo $oFault->getMessage();
}
?>

Un exemple simple qui vaut bien des discours !

Il est juste à noter que malheureusement, ça ne fait pas de miracle dans le cas d'une instruction @robasée, aucune exception n'est levée dans la cas ou une erreur se produit dans @fopen par exemple... !