ExceptionHandling -> Ausgabe in HTMl verhindern, aber mit Try-Catch abfangen

NetBull

Erfahrenes Mitglied
Hi Leute,

ich bau mir grad ne kleine Exception Klasse die meine Fehler abfangen und anständig reporten soll.

Also alle Warnungen, Informationen und Fehler die ein scharfes System ausgeben würde sollen über Catch abgefangen werden.

Beispiel testet das handling:
Code:
try 
{
       $curMeth = "TestMethod";				
       $this->curClass = "ExceptionTest";
       include("existiertNicht.txt"); // führt zu Warnung
       $this->status = 1;
}
			
catch(Exception $curException)
{
       $this->ExObject->Report($curEx, $this->curClass, $curMeth);
}

Beipiel führt die Exception aus:
Code:
class ExceptionReportClass
{
       function __construct()
       {
	       $this->isBuggy = false;
		$this->bugList = array();
       }
		
	function doReport($aException, $aClass, $aMeth)
       {
              echo "<H1>A new Error ocured!</H1>";
              echo "Read the following infomation to analyse this error:";
              echo "<H3>Error-Message</H3>";
              echo $aException->getMessage();
       }
}

Natürlich soll nachher nicht ausgegeben werden, sondern ich werde die Fehler in einer Datenbank speichern.

Problem: Trotz Exception-Handling wird die Standard-Ausgabe gezeigt. Try-Catch führt nur bei throw new exception zu einem Catch-Fall, die Zeile mit
include("existiertNicht.txt"); // führt zu Warnung
zeigt die normale Ausgabe, statt über Catch das Object ExceptionReportClass mit Werten zu füttern..

Was mach ich falsch? Kann ich das umstellen oder ist das von PHP so gewollt das try-catch nur auf benutzerdefinierte Exceptions reagiert (throw new ex....)

LG NetBu||
 
Hi,

die kenn ich schon, aber danach suche ich nicht. Ich suche nach einem Weg der Exceptions nicht auslöst sondern über Try-Catch verarbeitet. Das macht der Error Handler nicht. Ausserdem wird der in der PHP 6.0 sterben wie es aussieht.

Zumindest finde ich in der Quelle des Links keinen Hinweis auf try/catch
Aber danke für den Hinweis.

Grüße
NetBu||
 
Zurück