Error Handler

Door Han eev, 16 jaar geleden, 3.830x bekeken

Een error handler.
Iedereen wil goed met zijn errors omgaan en alles loggen en op een goede manier afhandelen. Met deze handler kan dat! (denk ik)
Het script geeft veel informatie over, wat, wanneer en waar het fout gaat.
Ik heb een stukje ingebouwd dat er 5 regels voor en 5 regels na de fout worden weergegeven.
Ook kan je het weergeven uitzetten en het laten versturen via je mail.

Aan het begin staan de config vars.

Ik denk dat dit script veel effectiever kan maar ik heb met dit script makkenlijk kunnen debuggen.

Veel Succes

Deze handler is heel handig met de functie trigger_error :)

Han

Commentaar is welkom. Vooral extra handigheids dingen en wat beter/korter kan.

Gesponsorde koppelingen

PHP script bestanden

  1. error-handler

 

Er zijn 19 reacties op 'Error handler'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Niek s
niek s
16 jaar geleden
 
0 +1 -0 -1
serieus mooi script! thnQ!! ga ik zekerteweten gebruiken :D
Stan
Stan
16 jaar geleden
 
0 +1 -0 -1
SjieQ hendig! Dit script ga ik zeker gebruiken! Bedankt!
Stefan
Stefan
16 jaar geleden
 
0 +1 -0 -1
cooL!! is dit een nieuwe ragE? ;)
Han eev
Han eev
16 jaar geleden
 
0 +1 -0 -1
Nee hoor :)
Iedereen heeft het over errorhandling alleen ik zie geen scripts.
Hipska BE
Hipska BE
16 jaar geleden
 
0 +1 -0 -1
even nog een gebruiksvoorbeeldje?
Bas Kreleger
Bas Kreleger
16 jaar geleden
 
0 +1 -0 -1
Mooi script! Ziet er erg keuriG uit..
 
0 +1 -0 -1
Mooi script, hier ga ik zeker dingen van gebruiken!
Leo
Leo
16 jaar geleden
 
0 +1 -0 -1
Zeker mooi, dit ga ik zeker inbouwen :)
- -
- -
16 jaar geleden
 
0 +1 -0 -1
Ik had dit net nodig! wat ben je een goede PHPhulper!!!!!!!
Benny Lava
Benny Lava
16 jaar geleden
 
0 +1 -0 -1
Mooi script en zeker handig
Hendel Berg
Hendel Berg
16 jaar geleden
 
0 +1 -0 -1
Een supermooie error handler! Maar stel nu dat de pagina 10.000 keer per dag wordt bekeken....dat betekent dat 10.000 nieuwe emails.... En stel dat je dan toevallig ook nog een weekje op vakantie bent......

Misschien kan je dus iets kan inbouwen dat er maar 1 email per error/bezoeker wordt verzonden?
Lissy Pixel
Lissy Pixel
16 jaar geleden
 
0 +1 -0 -1
Alles van je script doorgenomen en is met jouw uitleg mij aardig duidelijk.
BEDANKT voor het delen en energie die je erin hebt gestoken.

Wel heb ik een praktische vraag voor wat betreft het toepassen van deze handler.
Nu bedoel ik niet hoe je een functie aanroept want dat is me wel duidelijk.
Ik bedoel hoe integreer je een dergelijk script op een site?
Pim Vernooij
Pim Vernooij
16 jaar geleden
 
0 +1 -0 -1
Leuk scriptje. Ik ga het alleen niet gebruiken, waarom niet? Tegenwoordig gebruken we voor het handlen van errors try/catch met exceptions. Over niet al te lange tijd word PHP 5.2 gereleased. Daarmee word versie 5 eindelijk 'volwassen'. Ik zie PHP4 als een deprecated manier van werken... PHP5 heeft echt zoveel betere dingen in zich, dat ik me afvraag waarom bijna alle hosters PHP4 draaien...

Maar nogmaals: leuk script :-)
Han eev
Han eev
16 jaar geleden
 
0 +1 -0 -1
Bedankt voor de leuke reacties :)

En ik kreeg net een mail binnen... :)

@lissy (en anderen die met dezelfde vraag zitten):
Dit is vooral handig i.c.m. trigger_error bijv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
if(!mysql_query($sql)) {
trigger_error('Mysql error, Query: '.$q.' Mysql error:'.mysql_error(),E_USER_ERROR);
}

?>

En nu handeld de error handler het verder af. nu hoef jij niets meer te doen
Lissy Pixel
Lissy Pixel
16 jaar geleden
 
0 +1 -0 -1
@ Han : Wederom dank je wel en kunnen we het toepassen :)
Marcel K
Marcel K
16 jaar geleden
 
0 +1 -0 -1
Ook bedankt namens mij, ga ik eens uitproberen
Majid Ahddin
Majid Ahddin
16 jaar geleden
 
0 +1 -0 -1
maak er een class van en gooi constants in 'gadoorerrors' en 'sendmailerrors'. Als je er een class van maakt kan je m bovenaan je pagina aanroepen, starten en handler functies toevoegen. Bijvoorbeeld een functie die niks anders doet dan een mailtje sturen. Als je 4 functies toevoegt, loopt ie ze alle 4 af.
Zo'n error handler ben ik aan t schrijven op mn werk. Erg erg groot en uitgebreider dan ik zou maken, maarja, opdrachten...
Het idee van 'gadoorerrors' en 'sendmailerrors' is wel echt goed ;) maar je kan er meer mee doen. Maak ik je 'aanroepfunctie' 2 variabelen: een 'gadoor' en een 'sendmail', maar die 'sendmail' zou ik dan niet perse sendmail noemen, maar bijvoorbeeld 'act' of 'log'. 10000 mailtjes per dag is idd niet relaxt. Een bestand van een paar MB is echter niet erg. Bovenaan, waar je de errorhandler class start en je hoofdfunctie aanroept, kan je dus kiezen welke errors je witl laten zien, welke niet en welke moeten worden gereport (gelogd, gemaild, etc) en met welke functies :)
Misschien voor gevorderden. Het idee zit iig in de buurt, dus ga zo door!

-- edit
Aanroepvoorbeeldje van gevorderden error handler class
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$ErrHandler
= new PersonalErrorHandler( E_ALL , E_ALL^E_NOTICE ); // ...( aandacht_aan , actie_ondernemen )
$ErrHandler->addReportFunction("sendMailToAdmin");
$ErrHandler->addReportFunction("printXMLError");

?>

Zo worden alle errors (behalve E_STRICT) onderschept (en al dan niet wordt het script gekilld) en alle behalve E_NOTICE worden ook echt geprint. Je wilt namelijk wel gewaarschuwd worden dat er ergens een Notice in zit (als admin), maar je wilt niet dat je bezoekers last hebben van een frut Notice! De twee functies worden dus uitgevoerd bij elke error behalve E_STRICT en E_NOTICE. Ideetje voor versie 2?
K i p
K i p
15 jaar geleden
 
0 +1 -0 -1
Bedankt :-) Heb zelf het idee van je gebruikt en naar mijn eigen voorkeuren aangepast.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Kane
kane
15 jaar geleden
 
0 +1 -0 -1
moet ik ze ook linken met alle paginas van mijn site of moet ik het script gewoon online zetten tussen de andere scripts??

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. error-handler

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.