Yaslaw.Info > PHP > [PHP] exceptionErrorHandler
Impressum Stopp Acta

[PHP] exceptionErrorHandler

Mit der folgenden Funktion kann aus Errors Exceptions generiert werden
/**
 * Fehlerbehandlung sauber definieren. Alle Errors als Exception ausgeben
 * @param $errno
 * @param $errstr
 * @param $errfile
 * @param $errline
 */

function exceptionErrorHandler($errno, $errstr, $errfile, $errline ) {
    if($errno & ini_get('error_reporting')) {
        throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
    }
}
set_error_handler("exceptionErrorHandler");


Mit try...catch kann man nun ein sauberes Exception-Handling machen
try{
    //TODO dein Code
} catch(Exception $e){
    echo "<b>".$e->getMessage()."</b><br />\n";
    echo nl2br($e->getTraceAsString());
}


Und man kann so auch mit Exceptiosn arbeiten
try{
    //TODO viel Code
    $myObect = new MyClass();
    try{
        $myObejct->start();
        $value = $myObejct->value;
    }catch(Exception $e){
        // $myObejct->value wirft eine Fehler. In diesem Fall setzen wir $value auf -1
        $value = -1;
    }
    //TODO restlicher Code
} catch(Exception $e){
    echo "<b>".$e->getMessage()."</b><br />\n";
    echo nl2br($e->getTraceAsString());
}


Kategories: [PHP] | [Functions]
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki