SlideShare a Scribd company logo
•Error occurred in execution time


 •Abnormal termination of program


 • Wrong execution result




11/19/2012     Presented by: Neelesh Shukla   1
Is it a best practice to handle every
                 error?
  No, it is not best practice to handle every error. It
    degrades the performance.
  You should use Error Handling in any of following
    situation otherwise try to avoid it.
 1.     If you can able to recover error in the catch block
 2.     To write clean-up code that must execute even if
      an exception occur
 3.     To record the exception in event log or sending
      email.
11/19/2012       Presented by: Neelesh Shukla                 2
Exception Handling
         There are three ways to handle exceptions/errors in
                                           ASP.NET

           1) Try-Catch block.              This is also called Structured
                                             Exception Handling (SEH).

           2) Error Events.                 They are page level or application
                                             level error events.

           3) Custom Error Page. This is used for any unhandled
                                  error.
    11/19/2012          Presented by: Neelesh Shukla                          3
1) What is try Block?
  Try Block consist of code that might generate error.


  Try Block must be associated with one or more catch
     block or by finally block.

  Try Block need not necessarily have a catch Block
     associated with it but in that case it must have a finally
     Block associate with it.


11/19/2012        Presented by: Neelesh Shukla                    4
What is catch Block?
  Catch Block is used to recover from error generated in
   try Block.
  In case of multiple catch Block, only the first matching
   catch Block is executed.
  When you write multiple catch block you need to
   arrange them from specific exception type to more
   generic type.
  When no matching catch block are able to handle
   exception, the default behavior of web page is to
   terminate the processing of the web page.

11/19/2012      Presented by: Neelesh Shukla                  5
What is finally Block?
 Finally Block contains the code that always executes, whether
    or not any exception occurs.
   When to use finally Block? - You should use finally block to
    write cleanup code. i.e. you can write code to close files,
    database connections, etc.
   Only One finally block is associated with try block.
   Finally block must appear after all the catch block.
    If there is a transfer control statement such as goto, break or
    continue in either try or catch block the transfer happens
    only after the code in the finally block is executed.
    If you use transfer control statement in finally block, you will
    receive compile time error.
11/19/2012          Presented by: Neelesh Shukla                    6
Example of Try-Catch-Finally
       Try
       {
       --------
       --------
       --------
       }
       Catch(Exception ex)
       {
       -------
       -------
       }
       Finally
       {
       ----
       }
11/19/2012            Presented by: Neelesh Shukla   7
System-Defined Exception
  DivideByZero Exception
  NullReference Exception
  IndexOutOfRange Exception
  ArrayTypeMismatch Exception
  Arithmetic Exception
  Exception etc.




11/19/2012        Presented by: Neelesh Shukla   8
Exception class object properties
  Message: Get the error message.
  Source: Set or get the name of the application or object
   that causes the exception.
  StackTrace: Get a string representation of the frame on
   call stack at the time of current exception thrown.
  TargetSite: Get the current method that throws
   exception.
  InnerException: Get the system.exception instance
   that causes the current exception.

11/19/2012      Presented by: Neelesh Shukla                  9
In general, you will not be able to plan for,
catch and recover from every possible
exception that could occur within a page.
ASP.NET helps by offering two techniques to
handle page-level errors :

  Error Events
  Custom Error Page.




11/19/2012        Presented by: Neelesh Shukla   10
2)Error Events
 They are page level or application level error events:-
  Page_Error()
  Application_Error()




11/19/2012        Presented by: Neelesh Shukla             11
Page_Error()
 private void Page_Error(object sender, EventArgs e)
   {
      Exception ex = Server.GetLastError();
      Response.Write("<h1>An error has occurred</h1>");
      Response.Write("<h2>" + ex.Message + "</h2>");
      Response.Write("<pre>" + ex.StackTrace +
   "</pre>");
      Context.ClearError();
   }
 Note: This event fire if the page control is not disposed.
11/19/2012      Presented by: Neelesh Shukla                  12
Application_Error()
 The Error event of the Application class is fired when an exception is left
   unhandled. The handler is usually found in Global.asax

void Application_Error(object sender, EventArgs e)
  {
      // Code that runs when an unhandled error occurs

    System.Exception ex = Context.Server.GetLastError();

    ExceptionLog.MessageDetails(ex);

    // Code for handling error on Application level

    Response.Write("Handled error from Application <br>");
    Server.ClearError();
  }
Note: In the code above that ClearError() method should always be called after the exception has
   been handled. If the ClearError() has not been cleared, the exception will still show up on the
   client's browser.
    11/19/2012               Presented by: Neelesh Shukla                                     13
3) Custom Error Page
  First change the Application_Error method to the following:
   protected void Application_Error(object sender, EventArgs e)
   {
        System.Exception ex = Context.Server.GetLastError();
        ExceptionLog.MessageDetails(ex);
   }
  Notice that I have removed the Server.ClearError();
  Then add a customErrors section to your web.config file. This
   should be nested within the system.web element
  Add a new custom error page “Error.aspx” into your project to
   display a custom Error page, if any unhandled error occurs.


11/19/2012        Presented by: Neelesh Shukla                     14
<system.web>
      .....
     <customErrors mode="On" defaultRedirect="Error.aspx">
     //<error statusCode="404" redirect="Error404.aspx" />
     </customErrors>
     </system.web>

Note: Details of status code can be found at http://httpstatus.es

 To customize the default error page, one will have to change the default
     configuration settings of the application.
     There are three error modes in which an ASP.Net application can work:

1.         Off Mode
2.         On Mode
3.         RemoteOnly Mode
     11/19/2012         Presented by: Neelesh Shukla                   15
1. When the error attribute is set to "Off", ASP.Net uses
    its default error page for both local and remote users
    in case of an error.
 2. In case of "On" Mode, ASP.Net uses user-defined
    custom error page instead of its default error page for
    both local and remote users. If a custom error page is
    not specified, ASP.Net shows the error page
    describing how to enable remote viewing of errors.
 3. The Error mode attribute determines whether or not
    an ASP.Net error message is displayed. By default, the
    mode value is set to "RemoteOnly".



11/19/2012      Presented by: Neelesh Shukla              16
11/19/2012   Presented by: Neelesh Shukla   17

More Related Content

What's hot

Event handling
Event handlingEvent handling
Event handlingswapnac12
 
Java multi threading
Java multi threadingJava multi threading
Java multi threadingRaja Sekhar
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in javaMonika Mishra
 
Introduction to Java 8
Introduction to Java 8Introduction to Java 8
Introduction to Java 8Knoldus Inc.
 
Presentation on Template Method Design Pattern
Presentation on Template Method Design PatternPresentation on Template Method Design Pattern
Presentation on Template Method Design PatternAsif Tayef
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework Serhat Can
 
Observer design pattern
Observer design patternObserver design pattern
Observer design patternSara Torkey
 
Java 8 presentation
Java 8 presentationJava 8 presentation
Java 8 presentationVan Huong
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in phpCPD INDIA
 
Exception handling
Exception handlingException handling
Exception handlingAnna Pietras
 
Java Thread Synchronization
Java Thread SynchronizationJava Thread Synchronization
Java Thread SynchronizationBenj Del Mundo
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate pptAneega
 
java 8 new features
java 8 new features java 8 new features
java 8 new features Rohit Verma
 
Threads And Synchronization in C#
Threads And Synchronization in C#Threads And Synchronization in C#
Threads And Synchronization in C#Rizwan Ali
 

What's hot (20)

Selenium-Locators
Selenium-LocatorsSelenium-Locators
Selenium-Locators
 
Event handling
Event handlingEvent handling
Event handling
 
Java multi threading
Java multi threadingJava multi threading
Java multi threading
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
 
Introduction to Java 8
Introduction to Java 8Introduction to Java 8
Introduction to Java 8
 
Presentation on Template Method Design Pattern
Presentation on Template Method Design PatternPresentation on Template Method Design Pattern
Presentation on Template Method Design Pattern
 
Java 8 Streams
Java 8 StreamsJava 8 Streams
Java 8 Streams
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
Java exception
Java exception Java exception
Java exception
 
Observer design pattern
Observer design patternObserver design pattern
Observer design pattern
 
Java 8 presentation
Java 8 presentationJava 8 presentation
Java 8 presentation
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in php
 
Exception handling in Java
Exception handling in JavaException handling in Java
Exception handling in Java
 
Exception handling
Exception handlingException handling
Exception handling
 
Java Thread Synchronization
Java Thread SynchronizationJava Thread Synchronization
Java Thread Synchronization
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
 
java 8 new features
java 8 new features java 8 new features
java 8 new features
 
Threads And Synchronization in C#
Threads And Synchronization in C#Threads And Synchronization in C#
Threads And Synchronization in C#
 

Viewers also liked

Exception handling
Exception handlingException handling
Exception handlingIblesoft
 
Asp.NET Handlers and Modules
Asp.NET Handlers and ModulesAsp.NET Handlers and Modules
Asp.NET Handlers and Modulespy_sunil
 
Runnable interface.34
Runnable interface.34Runnable interface.34
Runnable interface.34myrajendra
 
Access Protection
Access ProtectionAccess Protection
Access Protectionmyrajendra
 
Effective Java - Chapter 4: Classes and Interfaces
Effective Java - Chapter 4: Classes and InterfacesEffective Java - Chapter 4: Classes and Interfaces
Effective Java - Chapter 4: Classes and Interfacesİbrahim Kürce
 
Exception Handling Java
Exception Handling JavaException Handling Java
Exception Handling Javaankitgarg_er
 
Exception Handling Mechanism in .NET CLR
Exception Handling Mechanism in .NET CLRException Handling Mechanism in .NET CLR
Exception Handling Mechanism in .NET CLRKiran Munir
 
Java - Exception Handling
Java - Exception HandlingJava - Exception Handling
Java - Exception HandlingPrabhdeep Singh
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp PresentationVishwa Mohan
 
EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...
EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...
EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...IAEME Publication
 
Java exception handling
Java exception handlingJava exception handling
Java exception handlingBHUVIJAYAVELU
 
Error handling and debugging in vb
Error handling and debugging in vbError handling and debugging in vb
Error handling and debugging in vbSalim M
 

Viewers also liked (20)

Exception handling
Exception handlingException handling
Exception handling
 
Asp.NET Handlers and Modules
Asp.NET Handlers and ModulesAsp.NET Handlers and Modules
Asp.NET Handlers and Modules
 
Exception handling
Exception handlingException handling
Exception handling
 
Error handling in ASP.NET
Error handling in ASP.NETError handling in ASP.NET
Error handling in ASP.NET
 
C sharp chap5
C sharp chap5C sharp chap5
C sharp chap5
 
Debugging in .Net
Debugging in .NetDebugging in .Net
Debugging in .Net
 
Runnable interface.34
Runnable interface.34Runnable interface.34
Runnable interface.34
 
Access Protection
Access ProtectionAccess Protection
Access Protection
 
Effective Java - Chapter 4: Classes and Interfaces
Effective Java - Chapter 4: Classes and InterfacesEffective Java - Chapter 4: Classes and Interfaces
Effective Java - Chapter 4: Classes and Interfaces
 
Exception Handling Java
Exception Handling JavaException Handling Java
Exception Handling Java
 
Exception Handling Mechanism in .NET CLR
Exception Handling Mechanism in .NET CLRException Handling Mechanism in .NET CLR
Exception Handling Mechanism in .NET CLR
 
Java - Exception Handling
Java - Exception HandlingJava - Exception Handling
Java - Exception Handling
 
Debugging
DebuggingDebugging
Debugging
 
Java keywords
Java keywordsJava keywords
Java keywords
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...
EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...
EVALUATION OF PROCESSES PARAMETER AND MECHANICAL PROPERTIES IN FRICTION STIR ...
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
 
Error handling and debugging in vb
Error handling and debugging in vbError handling and debugging in vb
Error handling and debugging in vb
 
Packages in java
Packages in javaPackages in java
Packages in java
 
Dynamic method dispatch
Dynamic method dispatchDynamic method dispatch
Dynamic method dispatch
 

Similar to Exception handling in asp.net

Similar to Exception handling in asp.net (20)

Exceptionhandelingin asp net
Exceptionhandelingin asp netExceptionhandelingin asp net
Exceptionhandelingin asp net
 
Java bad coding practices
Java bad coding practicesJava bad coding practices
Java bad coding practices
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Exception handling
Exception handlingException handling
Exception handling
 
Perfomatix - Java Coding Standards
Perfomatix - Java Coding StandardsPerfomatix - Java Coding Standards
Perfomatix - Java Coding Standards
 
ASP.NET 05 - Exception Handling And Validation Controls
ASP.NET 05 - Exception Handling And Validation ControlsASP.NET 05 - Exception Handling And Validation Controls
ASP.NET 05 - Exception Handling And Validation Controls
 
Exception Handling in C#
Exception Handling in C#Exception Handling in C#
Exception Handling in C#
 
iOS Mobile App crash - Analysis
iOS Mobile App crash - Analysis iOS Mobile App crash - Analysis
iOS Mobile App crash - Analysis
 
Exception handling in asp.net
Exception handling in asp.netException handling in asp.net
Exception handling in asp.net
 
JAVA PPT -4 BY ADI.pdf
JAVA PPT -4 BY ADI.pdfJAVA PPT -4 BY ADI.pdf
JAVA PPT -4 BY ADI.pdf
 
C# Security Testing and Debugging
C# Security Testing and DebuggingC# Security Testing and Debugging
C# Security Testing and Debugging
 
Node.JS error handling best practices
Node.JS error handling best practicesNode.JS error handling best practices
Node.JS error handling best practices
 
6-Error Handling.pptx
6-Error Handling.pptx6-Error Handling.pptx
6-Error Handling.pptx
 
The Theory Of The Dom
The Theory Of The DomThe Theory Of The Dom
The Theory Of The Dom
 
Exception Hnadling java programming language
Exception Hnadling  java programming languageException Hnadling  java programming language
Exception Hnadling java programming language
 
Java exeptions
Java exeptionsJava exeptions
Java exeptions
 
CS3391 -OOP -UNIT – III NOTES FINAL.pdf
CS3391 -OOP -UNIT – III  NOTES FINAL.pdfCS3391 -OOP -UNIT – III  NOTES FINAL.pdf
CS3391 -OOP -UNIT – III NOTES FINAL.pdf
 
Exception handling
Exception handlingException handling
Exception handling
 
Presentation1
Presentation1Presentation1
Presentation1
 
Exception
ExceptionException
Exception
 

Recently uploaded

Horsley U3A monthly slide show June 2024.pptx
Horsley U3A monthly slide show June 2024.pptxHorsley U3A monthly slide show June 2024.pptx
Horsley U3A monthly slide show June 2024.pptxMarkBlowers2
 
Nirshaa Ecommerce_Ready To Ship Products
Nirshaa Ecommerce_Ready To Ship ProductsNirshaa Ecommerce_Ready To Ship Products
Nirshaa Ecommerce_Ready To Ship Productsnirshaacom
 
Introducing Stealth Attraction: Master the Art of Attracting Women Easily
Introducing Stealth Attraction: Master the Art of Attracting Women EasilyIntroducing Stealth Attraction: Master the Art of Attracting Women Easily
Introducing Stealth Attraction: Master the Art of Attracting Women Easilymichaelkibue
 
deloitte-2024-genz-millennial-survey.pdf
deloitte-2024-genz-millennial-survey.pdfdeloitte-2024-genz-millennial-survey.pdf
deloitte-2024-genz-millennial-survey.pdfsontran31211023069
 
Unique Wedding Bands For Women Who Want To Stand Out.pptx
Unique Wedding Bands For Women Who Want To Stand Out.pptxUnique Wedding Bands For Women Who Want To Stand Out.pptx
Unique Wedding Bands For Women Who Want To Stand Out.pptxAndrews Jewelers
 
What Makes Candle Making The Ultimate Bachelorette Celebration
What Makes Candle Making The Ultimate Bachelorette CelebrationWhat Makes Candle Making The Ultimate Bachelorette Celebration
What Makes Candle Making The Ultimate Bachelorette CelebrationWick & Pour
 
What To Do If Your Ring Is Too Big? Must Read
What To Do If Your Ring Is Too Big? Must ReadWhat To Do If Your Ring Is Too Big? Must Read
What To Do If Your Ring Is Too Big? Must ReadAndrews Jewelers
 
The Golden Rule of Post-Cycle Therapy (PCT) in bodybuilding.pdf
The Golden Rule of  Post-Cycle Therapy (PCT) in bodybuilding.pdfThe Golden Rule of  Post-Cycle Therapy (PCT) in bodybuilding.pdf
The Golden Rule of Post-Cycle Therapy (PCT) in bodybuilding.pdfAASraw
 
From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...
From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...
From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...Kitchen on Fire
 
erevna-influencers-social-media-stin-ellada
erevna-influencers-social-media-stin-elladaerevna-influencers-social-media-stin-ellada
erevna-influencers-social-media-stin-elladarvlassopoulou
 
How to Maintain Healthy Life style.pptx
How to Maintain  Healthy Life style.pptxHow to Maintain  Healthy Life style.pptx
How to Maintain Healthy Life style.pptxrdishurana
 

Recently uploaded (11)

Horsley U3A monthly slide show June 2024.pptx
Horsley U3A monthly slide show June 2024.pptxHorsley U3A monthly slide show June 2024.pptx
Horsley U3A monthly slide show June 2024.pptx
 
Nirshaa Ecommerce_Ready To Ship Products
Nirshaa Ecommerce_Ready To Ship ProductsNirshaa Ecommerce_Ready To Ship Products
Nirshaa Ecommerce_Ready To Ship Products
 
Introducing Stealth Attraction: Master the Art of Attracting Women Easily
Introducing Stealth Attraction: Master the Art of Attracting Women EasilyIntroducing Stealth Attraction: Master the Art of Attracting Women Easily
Introducing Stealth Attraction: Master the Art of Attracting Women Easily
 
deloitte-2024-genz-millennial-survey.pdf
deloitte-2024-genz-millennial-survey.pdfdeloitte-2024-genz-millennial-survey.pdf
deloitte-2024-genz-millennial-survey.pdf
 
Unique Wedding Bands For Women Who Want To Stand Out.pptx
Unique Wedding Bands For Women Who Want To Stand Out.pptxUnique Wedding Bands For Women Who Want To Stand Out.pptx
Unique Wedding Bands For Women Who Want To Stand Out.pptx
 
What Makes Candle Making The Ultimate Bachelorette Celebration
What Makes Candle Making The Ultimate Bachelorette CelebrationWhat Makes Candle Making The Ultimate Bachelorette Celebration
What Makes Candle Making The Ultimate Bachelorette Celebration
 
What To Do If Your Ring Is Too Big? Must Read
What To Do If Your Ring Is Too Big? Must ReadWhat To Do If Your Ring Is Too Big? Must Read
What To Do If Your Ring Is Too Big? Must Read
 
The Golden Rule of Post-Cycle Therapy (PCT) in bodybuilding.pdf
The Golden Rule of  Post-Cycle Therapy (PCT) in bodybuilding.pdfThe Golden Rule of  Post-Cycle Therapy (PCT) in bodybuilding.pdf
The Golden Rule of Post-Cycle Therapy (PCT) in bodybuilding.pdf
 
From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...
From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...
From Stress to Success How Oakland's Corporate Wellness Programs are Cultivat...
 
erevna-influencers-social-media-stin-ellada
erevna-influencers-social-media-stin-elladaerevna-influencers-social-media-stin-ellada
erevna-influencers-social-media-stin-ellada
 
How to Maintain Healthy Life style.pptx
How to Maintain  Healthy Life style.pptxHow to Maintain  Healthy Life style.pptx
How to Maintain Healthy Life style.pptx
 

Exception handling in asp.net

  • 1. •Error occurred in execution time •Abnormal termination of program • Wrong execution result 11/19/2012 Presented by: Neelesh Shukla 1
  • 2. Is it a best practice to handle every error?  No, it is not best practice to handle every error. It degrades the performance.  You should use Error Handling in any of following situation otherwise try to avoid it. 1. If you can able to recover error in the catch block 2. To write clean-up code that must execute even if an exception occur 3. To record the exception in event log or sending email. 11/19/2012 Presented by: Neelesh Shukla 2
  • 3. Exception Handling  There are three ways to handle exceptions/errors in ASP.NET  1) Try-Catch block. This is also called Structured Exception Handling (SEH).  2) Error Events. They are page level or application level error events.  3) Custom Error Page. This is used for any unhandled error. 11/19/2012 Presented by: Neelesh Shukla 3
  • 4. 1) What is try Block?  Try Block consist of code that might generate error.  Try Block must be associated with one or more catch block or by finally block.  Try Block need not necessarily have a catch Block associated with it but in that case it must have a finally Block associate with it. 11/19/2012 Presented by: Neelesh Shukla 4
  • 5. What is catch Block?  Catch Block is used to recover from error generated in try Block.  In case of multiple catch Block, only the first matching catch Block is executed.  When you write multiple catch block you need to arrange them from specific exception type to more generic type.  When no matching catch block are able to handle exception, the default behavior of web page is to terminate the processing of the web page. 11/19/2012 Presented by: Neelesh Shukla 5
  • 6. What is finally Block?  Finally Block contains the code that always executes, whether or not any exception occurs.  When to use finally Block? - You should use finally block to write cleanup code. i.e. you can write code to close files, database connections, etc.  Only One finally block is associated with try block.  Finally block must appear after all the catch block.  If there is a transfer control statement such as goto, break or continue in either try or catch block the transfer happens only after the code in the finally block is executed.  If you use transfer control statement in finally block, you will receive compile time error. 11/19/2012 Presented by: Neelesh Shukla 6
  • 7. Example of Try-Catch-Finally Try { -------- -------- -------- } Catch(Exception ex) { ------- ------- } Finally { ---- } 11/19/2012 Presented by: Neelesh Shukla 7
  • 8. System-Defined Exception  DivideByZero Exception  NullReference Exception  IndexOutOfRange Exception  ArrayTypeMismatch Exception  Arithmetic Exception  Exception etc. 11/19/2012 Presented by: Neelesh Shukla 8
  • 9. Exception class object properties  Message: Get the error message.  Source: Set or get the name of the application or object that causes the exception.  StackTrace: Get a string representation of the frame on call stack at the time of current exception thrown.  TargetSite: Get the current method that throws exception.  InnerException: Get the system.exception instance that causes the current exception. 11/19/2012 Presented by: Neelesh Shukla 9
  • 10. In general, you will not be able to plan for, catch and recover from every possible exception that could occur within a page. ASP.NET helps by offering two techniques to handle page-level errors :  Error Events  Custom Error Page. 11/19/2012 Presented by: Neelesh Shukla 10
  • 11. 2)Error Events They are page level or application level error events:-  Page_Error()  Application_Error() 11/19/2012 Presented by: Neelesh Shukla 11
  • 12. Page_Error() private void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); Response.Write("<h1>An error has occurred</h1>"); Response.Write("<h2>" + ex.Message + "</h2>"); Response.Write("<pre>" + ex.StackTrace + "</pre>"); Context.ClearError(); } Note: This event fire if the page control is not disposed. 11/19/2012 Presented by: Neelesh Shukla 12
  • 13. Application_Error()  The Error event of the Application class is fired when an exception is left unhandled. The handler is usually found in Global.asax void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs System.Exception ex = Context.Server.GetLastError(); ExceptionLog.MessageDetails(ex); // Code for handling error on Application level Response.Write("Handled error from Application <br>"); Server.ClearError(); } Note: In the code above that ClearError() method should always be called after the exception has been handled. If the ClearError() has not been cleared, the exception will still show up on the client's browser. 11/19/2012 Presented by: Neelesh Shukla 13
  • 14. 3) Custom Error Page  First change the Application_Error method to the following: protected void Application_Error(object sender, EventArgs e) { System.Exception ex = Context.Server.GetLastError(); ExceptionLog.MessageDetails(ex); }  Notice that I have removed the Server.ClearError();  Then add a customErrors section to your web.config file. This should be nested within the system.web element  Add a new custom error page “Error.aspx” into your project to display a custom Error page, if any unhandled error occurs. 11/19/2012 Presented by: Neelesh Shukla 14
  • 15. <system.web> ..... <customErrors mode="On" defaultRedirect="Error.aspx"> //<error statusCode="404" redirect="Error404.aspx" /> </customErrors> </system.web> Note: Details of status code can be found at http://httpstatus.es  To customize the default error page, one will have to change the default configuration settings of the application. There are three error modes in which an ASP.Net application can work: 1. Off Mode 2. On Mode 3. RemoteOnly Mode 11/19/2012 Presented by: Neelesh Shukla 15
  • 16. 1. When the error attribute is set to "Off", ASP.Net uses its default error page for both local and remote users in case of an error. 2. In case of "On" Mode, ASP.Net uses user-defined custom error page instead of its default error page for both local and remote users. If a custom error page is not specified, ASP.Net shows the error page describing how to enable remote viewing of errors. 3. The Error mode attribute determines whether or not an ASP.Net error message is displayed. By default, the mode value is set to "RemoteOnly". 11/19/2012 Presented by: Neelesh Shukla 16
  • 17. 11/19/2012 Presented by: Neelesh Shukla 17