Freigeben über


Gewusst wie: Behandeln von Fehlern auf Seitenebene

Aktualisiert: November 2007

Fehler sollten möglichst in Try/Catch-Blöcken innerhalb des Codes behandelt werden, da Probleme leichter an der Stelle behoben werden können, an der sie auftreten. Wenn der Benutzer zum Beheben eines Problems beitragen kann, muss die entsprechende Seite erneut angezeigt werden, damit der Benutzer Informationen über durchzuführende Maßnahmen erhält.

Mithilfe eines Handlers auf Seitenebene wird die Seite erneut angezeigt. Die Seite ist ist jedoch leer, da keine Steuerelementinstanzen erstellt wurden. Um Informationen für den Benutzer bereitzustellen, müssen Sie die Informationen explizit auf der Seite angeben.

Sie können beispielsweise einen Fehlerhandler auf Seitenebene verwenden, um nicht behandelte Fehler zu protokollieren oder dem Benutzer eine Seite anzuzeigen, die hilfreiche Informationen enthält.

In diesem Codebeispiel wird ein Handler für das Error-Ereignis auf einer ASP.NET-Webseite veranschaulicht. Dieser Handler fängt alle Ausnahmen auf, die nicht bereits in Try/Catch-Blöcken auf der Seite behandelt werden.

Nach dem Behandeln eines Fehlers muss dieser durch Aufruf der ClearError-Methode des Server-Objekts (HttpServerUtility-Klasse) gelöscht werden.

Beispiel

Dieser Handler filtert nach bestimmten Ausnahmearten. Bei einer ArgumentOutOfRangeException-Ausnahme wird vom Handler Text auf die Seite geschrieben, ein Link zurück zur Seite bereitgestellt, der Fehler protokolliert, und die Systemadministratoren werden benachrichtigt. Bei einer InvalidOperationException-Ausnahme übertragt der Handler die Ausnahme einfach auf die generische Fehlerseite. Bei allen anderen Ausnahmen werden keine Aktionen vom Handler ausgeführt. Auf diese Weise kann die Website automatisch auf die in der Datei Web.config festgelegte generische Seite umgeleitet werden. Mit eigenem Code kann nach für die Anwendung wichtigen Ausnahmen gefiltert werden.

Das folgende Beispiel ist Teil eines vollständigen Codebeispiels in Vollständiges Beispiel für Fehlerhandler.

Sicherheit

Mithilfe von <customErrors>-Element werden ausführliche Fehlermeldungen nur lokalen Benutzern angezeigt.

Vergewissern Sie sich, dass keine Fehlerinformationen angezeigt werden, durch die das Beschädigen der Anwendung durch böswillige Benutzer unterstützt wird. Ausführliche Informationen finden Sie unter Gewusst wie: Anzeigen von sicheren Fehlermeldungen.

Siehe auch

Aufgaben

Gewusst wie: Behandeln von Fehlern auf Anwendungsebene

Konzepte

Vollständiges Beispiel für Fehlerhandler