Lo que más me gusta en Java es el tratamiento de los errores mediante excepciones, en PHP no está tan logrado, pero se puede apañar para que tenga un funcionamiento parecido:
set_error_handler('error_handler');
function error_handler($errno, $errstr, $errfile, $errline) {
if (4096 == $errno) throw new Exception($errstr);
return false;
}
El código 4096 indica que el error es capturable, se produce un error pero no produce un situación inestable.
Después podremos capturar los errores de la siguiente manera:
try {
// Operación que produce error
} catch (ErrorException $e) {
// Tratar el error
}
Turning errors into exceptions