set_error_handler

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
Ciao a tutti, sono alle primissime armi e quello che cerco al momento sono soprattutto delucidazioni teoriche.
:book: Dal libro che ho sottomano e dal sito php.net sto cercando di capire la gestione degli errori..

Mi è quasi tutto chiaro tranne per alcuni piccoli particolari. Uno di questi riguarda i parametri passati quando si crea il gestore d'errori personalizzato(come a.e. $errno)

Codice:
function myErrorHandler ($errno, $errstr, $errfile, $errline)
{
...
}

set_error_handler('myErrorHandler')

è facile intuire che si riferiscono rispettivamente al numero d'errore, alla stringa che lo descrive, etc.. ma volevo soprattutto capire dove vengono pescati!!

Nel senso: ogni errore generato da php è di per sè una specie di array con valori associati ad ogni chiave di cui sopra ($errno...)?

Vi ringrazio in anticipo per la risposta..
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Ottima domada, spero di averne capito il senso. :)

Diciamo che ogni esecuzione di codice produce delle particolari intestazioni (headers), in queste intestazioni sono presenti anche eventuali errori a cui sono associati dei valori.
Questi errori sono documentati in modo da poter produrre delle notifiche da segnalare allo sviluppatore.

Alla base di queste segnalazioni vi è una direttiva del file di configurazione, il PHP.ini, denominata error_reporting, che definisce quali errori di PHP devono essere restituiti.

Una delle migliori guide in Rete su errori ed eccezioni e quella redatta dalla W3C.
 

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
grazie eliox, in effetti quella del W3C è una guida molto chiara.

Quindi, da quello che ho capito, i parametri passati potrebbero essere chiamati anche in un altro modo e non cambierebbe nulla..

Dei cinque possibili, i primi due, obbligatori, si riferiscono al livello (numero) dell'errore e al messaggio, mentre gli altri tre, facoltativi, si riferiscono al file, alla linea al'interno del file, e al contesto (a proposito cos'è il contesto?).

E invece che

Codice:
myErrorHandler($errno,$errstr,$errfile,$errline,$errcontext)

potrei scrivere benissimo

Codice:
myErrorHandler($numero,$messaggio,$file,$linea,$contesto)

giusto??
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
I [PHP] Login Facebook SDK returned an error: No URL set! PHP 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
M php set cookie PHP 0
andry79fi Set di Libri per posizionamento Motori di Ricerca Altri Annunci 0
F [risolto] Aiuto parametro SET phpmyadmin PHP 2
A Problema con UPDATE table SET username = $_SESSION["username"] PHP 22
A Google news problemi con set caratteri ANSI Javascript 7
criric [MYSQL] campi di tipo SET MySQL 3
helpdesk record set per immagini PHP 15
C Set frame in javascript Javascript 1
D 800a005b object variable or with block variable not set Classic ASP 3
P Classico problema Set Di caratteri e mysql PHP 2
borgo italia link a set di frame HTML e CSS 2
D Aiuto con Nested Set PHP 0
C set master/dettaglio PHP 0
grottafelix Set Icone style Light Webdesign e Grafica 7
ElfoDelBasket [php-mysql] Prelevare i valori dai campi Enum/Set PHP 5
grottafelix Set icone Presenta il tuo Sito 4
E [mysql] non funziona UPDATE tab SET etc. PHP 19
L Set di frames con dreaweaver HTML e CSS 2
grottafelix Vendo PC completo P4 2400 + set audio5.1 Altri Annunci 0
N SQL Server 2000: cancellare un set di backup da Ripristina Database Database 0
D Ragazzi, Cosa è set di VBS? Javascript 1
S 404 Error " Page not Find" Error SEO e Posizionamento 0
L Error Code: 1215. Cannot add foreign key constraint MySQL 3
M HTTP Status 500 - Internal Server Error. Java 0
A Uncaught Error: jQuery 1
F Uncaught (in promise) Error: 3000ms timeout exceeded Javascript 0
U Campo vuoto data errore Fatal error: PHP 2
W ADODB.Recordset error '800a0bb9' Classic ASP 2
D error text in table HTML e CSS 11
W Microsoft OLE DB Provider for Visual FoxPro error '80040e14' Function name is missing ). Classic ASP 0
W Parse error: syntax error, unexpected '$result' (T_VARIABLE) PHP 4
W Errore di run-time di Microsoft VBScript error '800a0035' Impossibile trovare il file Classic ASP 0
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
G Upload file error Apache 0
A Server Apache immagine not found (ERROR 404) Apache 5
L [PHP] Fatal error: Call to a member function prepare() on null in PHP 0
D [PHP] Fatal error: Class 'COM' not found in C:\..... PHP 6
T MySQL ERROR 1064 MySQL 1
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
T [PHP] ...Parse error che non c'è... PHP 7
C [PHP] Errore "Fatal error: Call to undefined function getTotalUsers()" PHP 2
V [MySQL] You have an error in your SQL syntax MySQL 1
G PHPMailer: SMTP error Gmail PHP 8
G [WordPress] [PHP] Parse error: syntax error, unexpected '$x332cbce1' WordPress 2
bubino8 [PHP] Query syntax error PHP 6
J [PHP] Recoverable fatal error: PHP 4
momeraths [WordPress] cURL error: problema aggiornamento/installazione plugin WordPress 4

Discussioni simili