Error Handling In Asp.net Using Global.asax
resources Windows Server 2012 resources Programs MSDN subscriptions Overview Benefits Administrators Students Microsoft Imagine Microsoft Student Partners ISV Startups TechRewards Events Community Magazine Forums Blogs Channel 9 Documentation APIs and reference Dev centers Retired content Samples We’re sorry. The content you requested has been removed. You’ll be auto redirected in 1 second. MSDN Library MSDN Library MSDN Library MSDN Library Design Tools Development Tools and Languages Mobile and Embedded Development .NET Development Office development Online Services Open Specifications patterns & practices Servers and Enterprise Development Speech Technologies Web Development Windows Desktop App Development TOC Collapse the table of content Expand the table of content This documentation is archived and is not being maintained. This documentation is archived and is not being maintained. How to: Handle Application-Level Errors Other Versions Visual Studio 2010 .NET Framework 4 Visual Studio 2008 .NET Framework 3.0 Visual Studio 2005 This code example shows how to create an error handler in the Global.asax file that will catch all unhandled ASP.NET errors while processing a request — in other words, all the errors that are not caught with a Try/Catch block or in a page-level error handler. In the example, the handler transfers control to a generic error page named GenericErrorPage.aspx, which interprets the error and displays an appropriate message. Example The following example is from a complete code sample in Complete Example for Error Handlers. Security Note Never set customErrors to Off in your Web.config file if you do not have an Application_Error handler in your Global.asax file. Potentially compromising information about your Web site can be exposed to anyone who can cause an error to occur on your site. C#VB Copy void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs // Get the exception object. Exception exc = Server.GetLastError(); // Handle HTTP errors if (exc.GetType() == typeof(HttpException)) { // The Complete Error Handling Example generates // some errors using URLs with "NoCatch" in them; // ignore these here to simulate what would happen // if a global.asax handler were not implemented. if (exc.Message.Contains("NoCatch") || exc.Message.Contains("maxUrlLength")) return; //Redirect HTTP errors to HttpError page Server.Transfer("HttpErrorPage.aspx"); } // For other
Websites Community Support ASP.NET Community Standup ForumsHelp Web Forms:Guidance Videos Samples Forum Books Open Source Getting Started Getting StartedGetting Started with ASP.NET 4.5 Web Forms and Visual Studio 20131. Getting Started with Web Forms and Visual Studio2. Create the Project3. Create the Data Access Layer4. UI and Navigation5. Display Data Items and Details6. Shopping Cart7. Checkout and Payment with PayPal8. Membership and Administration9. URL Routing10. ASP.NET Error HandlingIntroduction to ASP.NET Web FormsCreating a Basic Web Forms Page in Visual Studio 2013Creating ASP.NET Web Projects in Visual Studio 2013Code Editing ASP.NET Web Forms https://msdn.microsoft.com/en-us/library/24395wz3.aspx in Visual Studio 2013ASP.NET Scaffolding in Visual Studio 2013ASP.NET Web Forms (dotnetConf 2014)Using Page Inspector for Visual Studio 2012 in ASP.NET Web FormsVisual Studio 2012 Hands On LabsWhat's New in ASP.NET and Web Development in Visual Studio 2012What's New in Web Forms in ASP.NET 4.5Using Page Inspector in Visual Studio 2012Monitoring and TelemetryRoutingASP.NET 4 - RoutingASP.NET 4 - Defining RoutesASP.NET 4 - Constructing URLs https://www.asp.net/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/aspnet-error-handling from RoutesASP.NET 4 - Accessing URL Parameters in a PageJavaScript and Client FrameworksASP.NET 4 - Microsoft Ajax OverviewASP.NET AJAX Control Toolkit (maintained by DevExpress)Working with Data Getting Started with ASP.NET 4.5 Web FormsModel Binding and Web Forms in Visual Studio 20131. Retrieving and Displaying Data2. Updating, Deleting, and Creating Data3. Sorting, Paging, and Filtering Data4. Integrating JQuery UI Datepicker5. Using Query String Values to Filter Data6. Adding Business Logic LayerASP.NET 4 Web Forms - Validating User Input in a PageASP.NET 4 Web Forms - State ManagementASP.NET Data Access - Recommended ResourcesServer Data ControlsASP.NET 4 Data-Bound ControlsASP.NET 4 Data Source Controls OverviewASP.NET 4.5 Chart ControlRecommended Resources for ASP.NET Data AccessSecurity, Authentication, and Authorization Getting Started with ASP.NET 4.5 Web FormsASP.NET IdentityCreate a secure ASP.NET Web Forms app with user registration, email confirmation and password reset (C#)Create an ASP.NET Web Forms app with SMS Two-Factor Authentication (C#)OWIN and KatanaPerformanceUsing Asynchronous Methods in ASP.NET 4.5[Build 2014] Deep Dive: Improving Performance in Your ASP.NET App (Levi Broderick)ASP.NET 4 - Web Forms Performance OverviewASP.NET 4 - Web Forms Caching OverviewASP.NET 4 - Caching Web Forms PagesASP.NET 4 - Caching Portions of a Web Forms PageDeplo
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow http://stackoverflow.com/questions/434859/handling-application-error-in-asp-net-apps-global-asax the company Business Learn more about hiring developers or posting ads with us Stack Overflow http://stackoverflow.com/questions/10061837/catching-errors-in-global-asax Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up handling Application_Error in ASP.NET app's global.asax up vote 19 down vote favorite 2 I wish to send mail to error handling an administrator when the application crashes. So I simply do this in global.asax: void Application_error(object sender, EventArgs e) { SendMessageToAdministarator(Server.GetLastError().ToString()); } But actually many times Application_Error is called even though the application won't crash. And I wish to send mail to admin ONLY when the application crashed. Also, do I have a simple way to lift the application back on? I'm looking for the simplest solution. asp.net share|improve this question edited Nov error handling in 14 '11 at 14:57 Jason Plank 2,12242338 asked Jan 12 '09 at 9:06 Hanan 6973927 add a comment| 1 Answer 1 active oldest votes up vote 48 down vote accepted What kind of errors are send when the application is not crashed? You could check the type of exception and don't send emails on the exceptions that don't crash the app (for example a redirect can throw the ThreadAbortException which I manually filter in code): protected void Application_Error(Object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is ThreadAbortException) return; Logger.Error(LoggerType.Global, ex, "Exception"); Response.Redirect("unexpectederror.htm"); } You could add a redirect to an error page with a message for the user that an error has occured and some links to relevant pages in the site. This is for the 'lift the application back on' - I hope this is what you wanted. Also you might look into logging with log4net which can also log errors on the server and send emails on errors. share|improve this answer edited Oct 20 '11 at 15:43 Josh Stodola 54.6k33147204 answered Jan 12 '09 at 9:18 rslite 35.8k43444 Thank you very much. What do you mean by "manually filter in code" ? also, one error that I constanly getting is some System.Web.HttpException: File does not exist. at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext cont
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Catching errors in Global.asax up vote 8 down vote favorite 2 I have the following in my Global.aspx which is meant for handling errors: void Application_Error(object sender, EventArgs e) { Exception exception = Server.GetLastError(); if (exception != null) { //Log if (HttpContext.Current.Server != null) { HttpContext.Current.Server.Transfer("/siteerror.aspx"); } } } This works for the most part, but sometimes does not get into Server.Transfer. For some reason HttpContext.Current.Server is null. I figured out where this happens: when errors occur in a user control and in my business logic classes. Am I missing something here? Thanks c# asp.net error-handling share|improve this question edited Apr 8 '12 at 11:43 svick 124k23196308 asked Apr 8 '12 at 9:36 Peuge 71511330 2 Any reason not using Response.Redirect rather? –leppie Apr 8 '12 at 9:41 1 Where in global.asax is this? –Marc Gravell♦ Apr 8 '12 at 9:42 @leppie I did not add this so not entirely sure why the previous person chose Server.Transfer, it shouldn't make a difference though should it? –Peuge Apr 8 '12 at 9:53 @MarcGravell I have updated the question to reflect this. –Peuge Apr 8 '12 at 9:54 Earlier you use Server.blah - does Server.Transfer(...) not work? (no HttpContext.Current) –Marc Gravell♦ Apr 8 '12 at 9:56 add a comment| 2 Answers 2 active oldest votes up vote 2 down vote Application_Error block can catch exception anytime between application life cycle. Application life cycle is parent of Session life cycle as you can understand there can be many sessions within a single application. Thus you may have HttpContext.Current null