Error-Handler

Aus Programmers Guide

Version vom 06:05, 6. Apr. 2010 bei Roy (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
<?php
//alle Fehler melden
error_reporting(E_ALL);
//aber keine anzeigen
ini_set('display_errors', 0);
 
/**
 ** Was machen wir, wenn die Skriptausführung gestoppt wurde...
 **
 */
function shutdown(){
	$isError = false;
	if ($error = error_get_last()){
		switch($error['type']){
			case E_ERROR:
			case E_CORE_ERROR:
			case E_COMPILE_ERROR:
			case E_USER_ERROR:
			$isError = true;
			break;
		}
	}
	if ($isError){
                //Diese Function schickt mir eine Mail
		sendErrorMail("Script konnte nicht ausgeführt werden (".$error['message'].")");
	}
}
 
/**
 ** Meine eigene Fehlerbehandlung
 **
 */
function myErrorHandler($errno, $errstr, $errfile, $errline) {
    switch ($errno) {
        case E_NOTICE:
        case E_USER_NOTICE:
            $errors = "Notice";
            break;
        case E_WARNING:
        case E_USER_WARNING:
            $errors = "Warning";
            break;
        case E_ERROR:
        case E_USER_ERROR:
            $errors = "Fatal Error";
            break;
        default:
            $errors = "Unknown";
            break;
        }
        //Diese Function schickt mir eine Mail
        sendErrorMail("\n".$errors."\n\nErrorstring\t".$errstr."\nErrorfile\t".$errfile."\nErrorline\t".$errline);
	return true;
}
 
// set to the user defined error handler
set_error_handler("myErrorHandler");
register_shutdown_function('shutdown');
 
 
?>
Persönliche Werkzeuge