PHP possiede anche un operatore in grado di controllare gli errori.
La chiocciola “@”, se posta come prefisso a qualsiasi cosa possa generare un errore, lo sopprimerà copiando il messaggio di errore nella variabile globale $php_errormsg
(la funzione track_errors
deve essere abilitata in php.ini).
Usate questo operatore con attenzione e se lo fate controllate la variabile $php_errormsg
subito perché il contenuto viene cancellato ad ogni errore.
Come sostituto a questo operatore è possibile impostare una propria funzione personalizzata che gestisce tutti gli errori che avvengono.
Dopo aver creato la propria funzione basta usare set_error_handler per indicare al PHP che deve usarla come error handler.
<?php /* operatori di controllo degli errori */ $conn = @mysql_connect ('host', 'user', 'pass') or die ('No! non si connette !!!'); /* anche se avviene un errore il php non lo visualizzerà */ $fd = @fopen ('file_che_non_esiste.estensione', 'r'); ?>
In questo esempio abbiamo introdotto una cosa molto carina per la gestione degli errori che è tipica del perl e del php. Ovvero l’accopiata or die
.
Nel nostro caso se la funzione che connette al database mysql ritorna un errore di qualsiasi genere lo script viene ucciso all’istante visualizzando un messaggio a nostro piacere.
vicius
Commenti recenti