| Yaslaw.Info > PHP > [PHP] exceptionErrorHandler |
Impressum ∞ |
[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");
* 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());
}
//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());
}
//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]
