Frage

Die Fragen sagt alles, nehmen Sie dieses Beispiel-Code:

<ul id="css-id">
    <li>
    <something:CustomControl ID="SomeThingElse" runat="server" />
    <something:OtherCustomControl runat="server" />
    </li>
</ul>

Nun, wenn ein Fehler irgendwo in diesem controlls geworfen wird (das in einer Masterseite befindet) werden sie die gesamte Website herunterzunehmen, wie würde man diese Ausnahmen fangen?

War es hilfreich?

Lösung

Sie können alle Ausnahme fangen nicht an anderer Stelle in der Global.asax Seite / Klasse behandelt. Schauen Sie sich:

protected void Application_Error(Object sender, EventArgs e)

Methode.

Andere Tipps

Leider wird eine nicht behandelte Ausnahme immer Ihre Website Fehler. Sie können wenn dies ein paar Möglichkeiten verhindern.

  • Verwenden Sie den Abschnitt in web.config eine benutzerfreundliche Nachricht zeigen
  • In Ihrem Global.asax - oder einem benutzerdefinierten Handler - fangen Sie Ihre nicht behandelte Ausnahme und entsprechend reagieren - Beispiel

beste Lösung

  • Stellen Sie sicher, dass Sie Kontrollen werfen unhandled nicht Ausnahmen!

In einem global.asax en den Application_Error Handler implementieren. Verwenden Sie die Server.GetLastError () Funktion einen Griff auf der Ausnahme geworfen zu bekommen.

die global.asax Application_Error Methode verwenden, wie in der Wie benutzerdefinierten Fehler erstellen Seiten in ASP berichten. NET von Visual C # .NET verwenden.

Ein alternativer Ansatz wäre, eine HTTP-Modul ; dies gibt Ihnen einige mehr Flexibilität (Sie Fehler aus mehreren Anwendungen, beispielsweise umgehen kann).

Möchten Sie die Ausnahme abfangen und damit umgehen?

Oder wollen Sie das Yellow Screen Of Death verhindern wollen? Wenn Sie versuchen, die Yellow Screen Of Death zu verhindern, sucht das Error Ereignis auf dem HttpApplication im Umgang mit (in anderen Worten, in der Global.asax).

Sehen Sie die folgende MSDN-Seite für weitere Informationen: http://msdn.microsoft.com/en- us / library / system.web.httpapplication.error.aspx

Im Einzelnen dieser Absatz:

  

Die Ausnahme, die das Fehler-Ereignis auslöst kann durch einen Aufruf der Methode GetLastError zugegriffen werden. Wenn Ihre Anwendung benutzerdefinierte Fehlerausgabe erzeugt, unterdrückt die Standard-Fehlermeldung, die von ASP.NET durch einen Aufruf der Methode Clear erzeugt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top