Ik ben bezig met een (voor mijn doen) behoorlijk groot opgezette website. Uiteindelijk zal die door best wat mensen gebruikt worden, grotendeels computerLeek (let op de hoofdletter). Natuurlijk kan er altijd wel wat mis gaan in je code, en om die mensen niet teveel te laten schrikken wil ik ze dan een duidelijke en nette foutmelding laten zien.
Op mijn site include ik de verschillende files die bij de menuonderdelen horen. Die staan allemaal in een array, index.php?section=news laat bij file news.php includen. Nu heb ik eenvolgende error-handler functie geschreven:
Korte functie, maar hij voldoet. Nu heb ik dan wel hetvolgende probleem: stel dat de PHP-parser halverwege de geinclude pagina een fout tegenkomt, dan laat ie de al geparse-te zooi al wel zien. Wat ik wil, is dat ie in dat geval de eerdere output niet laat zien, en je alleen de foutmelding laat zien. Ik had dit eerst opgelost met een header-redirect, maar dat werkt eigenlijk toch niet erg handig, grotendeels omdat je dan niet goed weet waar de fout zit (in welke file en welke regel). Hoe doe ik dit op een nette manier?
Op mijn site include ik de verschillende files die bij de menuonderdelen horen. Die staan allemaal in een array, index.php?section=news laat bij file news.php includen. Nu heb ik eenvolgende error-handler functie geschreven:
code:
1
2
3
4
5
| function errorHandler($errno, $errstr, $errfile, $errline) { echo "\n<p>Fout op regel $errline in $errfile: \"$errstr\"</p>"; echo "\nNette melding blablabla"; exit(); } |
Korte functie, maar hij voldoet. Nu heb ik dan wel hetvolgende probleem: stel dat de PHP-parser halverwege de geinclude pagina een fout tegenkomt, dan laat ie de al geparse-te zooi al wel zien. Wat ik wil, is dat ie in dat geval de eerdere output niet laat zien, en je alleen de foutmelding laat zien. Ik had dit eerst opgelost met een header-redirect, maar dat werkt eigenlijk toch niet erg handig, grotendeels omdat je dan niet goed weet waar de fout zit (in welke file en welke regel). Hoe doe ik dit op een nette manier?