(PHP 4> = 4.0.1, PHP 5)
set_error_handler - instalează handler de eroare personalizată.
set_error_handler string (error_handler string)
Setează o funcție de utilizator (error_handler) pentru a gestiona erorile într-un script.
Returnează handler de eroare definit anterior (dacă este cazul), FALSE la eroare.
Această funcție poate fi utilizată pentru a determina propriul mod de manipulare erori în timpul rulării, de exemplu, în aplicații în cazul în care aveți nevoie pentru a curăța date / fișiere atunci când o eroare critică, sau dacă aveți nevoie pentru a comuta eroarea în anumite condiții (folosind trigger_error ()).
Notă: Următoarele tipuri de erori nu pot fi manipulate de funcție definită de utilizator: E_ERROR. E_PARSE. E_CORE_ERROR. E_CORE_WARNING. E_COMPILE_ERROR și avertizate E_COMPILE_WARNING.
lista de parametri
error_handler - funcție a formei definite de utilizator:
handler (int errno, string errstr [, errfile string [, int errline [array errcontext]]])
Funcția personalizată ar trebui să accepte 2 parametri: eroare de cod și un șir de caractere care descrie eroarea. Începând cu PHP 4.0.2, să fie prevăzute cu încă 3 parametri: numele fișierului în care a apărut eroarea, numărul liniei în care a apărut eroarea și contextul în care a apărut eroarea (o matrice care indică la tabela de simboluri activ la punctul a apărut eroarea).
valorile de returnare
Returnează handler de eroare definit anterior (dacă este cazul), FALSE la eroare.
Exemplul următor arată manipularea excepțiilor interne prin comutarea erorilor și procesarea funcției lor definite de utilizator:
EXEMPLUL 1 Eroare Manipularea cu set_error_handler () și trigger_error ()
Și când rulați acest script de probă:
Vector Array ([0] => 2 [1] => 3 [2] => foo [3] => 5,5 [4] => 43,3 [5] => 21,11) ---- vector b - un avertisment (b = log (PI) * a) ATENȚIE [1024] Valoarea la poziția 2 nu este un număr, folosind 0 (zero)
Array ([0] => 2.2894597716988 [1] => 3.4341896575482 [2] => 0 [3] => 6.2960143721717 [4] => 49.566804057279 [5] => 24.165247890281) ---- vector c - o eroare de eroare [ 512] vector de intrare incorectă, matrice de valori de așteptat
NULL ---- vector d - eroare fatală FATAL [256] log (x) pentru x