andi_b: Gezielt Fehlernummer ermitteln?

Beitrag lesen

moin tom,

ich schon wieder. hab das ganze nochmal getestet, leider geht es nicht ganz so komfortabel wie ich angepriesen habe, da man keine beliebigen errornumern vergeben kann. aber dafür hast du alles schön sortiert verfügbar und es geht sehr einfach zu konfigurieren.

hab jetzt nur mal ganz fix aus dem manual was zusammenkopiert um es dir zu präesentieren. du kannst ja den handler wirklich nur bei der kritischen operation umdefinieren und danach wieder den alten handler setzen. so kannst musst du nicht alles umkonfigurieren.

viele grüsse,
andi

//--------------------------------------------------------------------
//script:

<?PHP
$dateiname = 'opentest123.txt';

// die Stufe für dieses Skript einstellen
error_reporting(E_ALL);

// Fehlerbehandlungsfunktion
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
  echo '<pre>';print_r(debug_backtrace());echo '</pre>';
  switch ($errno) {
  case FATAL:
    echo "<b>FATAL</b> [$errno] $errstr<br />\n";
    echo "  Fatal error in line $errline of file $errfile";
    echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
    echo "Aborting...<br />\n";
    exit(1);
    break;
  case ERROR:
    echo "<b>ERROR</b> [$errno] $errstr<br />\n";
    break;
  case WARNING:
    echo "<b>WARNING</b> [$errno] $errstr<br />\n";
    break;
  case NOTICE:
    echo "<b>NOTICE</b> [$errno] $errstr<br />\n";
    break;
  default:
    echo "Unkown error type: [$errno] $errstr<br />\n";
    break;
  }
}

// auf die benutzerdefinierte Fehlerbehandlung umstellen
$old_error_handler = set_error_handler("myErrorHandler");

if(!$handle = fopen($dateiname,'x+'))
{
  trigger_error('scheisse',999);
}
?>