Как получить и обработать UnhandledException

Иногда в вашем приложении может возникнуть необработанное исключение, которое приведет к краху приложения.
Для этого нужно подписаться на UnhandledException


Для WPF, Silverlight и подобных:

AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
Assembly assem = Assembly.GetExecutingAssembly();
AssemblyName assemName = assem.GetName();
Exception e = (Exception)args.ExceptionObject;
//необходимые действия
}

Для ASP.NET в фале Global.asax:

protected void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Assembly assem = Assembly.GetExecutingAssembly();
AssemblyName assemName = assem.GetName();
//необходимые действияServer.ClearError();
}

Стоит заметить, что Application_Error вызывается в случае любой ошибки, в том числе когда нет нужной страницы и т.п.

Add comment