Io credo che un altro dei motivi è che l'80% delle persone che utilizzano PHP nel web neanche sanno cosa è una classe e cosa è un gestore degli errori o eccezioni e cose varie; quindi alla Zend preme davvero poco avere un linguaggio pulito e che segua una logica ben precisa.
Mentre riguardo al tuo problema ti consiglio di usare un qualcosa di un pelino più articolato, come minimo:
Codice PHP:
set_error_handler(
create_function('$errno, $errstr', 'throw new Exception($errstr);')
);
try {
$buggy = 5/0;
}
catch (Exception $e) {
echo $e->getMessage();
}
almeno sai che tipo di errore stai avendo. Però forse sarebbe bene scriverti una intera funzione per gestire gli errori e poi associarla con set_error_handler() in modo da darti informazioni dettagliate sul tipo di errore, dove si è verificato e cose simili.