Exception handling in .net
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Exception handling in .net

Exception handling in .net



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Exception handling in .net Presentation Transcript

  • 1. Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring Partner Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
  • 2. Exception Handling in .NET Nithil.pp nithilp@gmail.com facebook.com/ nithil padinare peediyekal twitter.com/nithilpp in.linkedin.com/in/nithil.pp 9995223505
  • 3. What is Exception? • An exception is an event, which occurs during the execution of a program. • It disrupts the normal flow of the program's instructions • Exception handling enables programmers to remove error-handling code from the “main line” of the program’s execution.
  • 4. What is Exception? (cont.) • Simplify code construction and maintenance • Allow the problematic situations to be processed at multiple levels
  • 5. Handling Exceptions • Catching and Processing Errors • In C# the exceptions can be handled by the try-catchfinally construction • Provided by System.Exception • Enable clear, robust and more fault-tolerant programs • catch blocks can be used multiple times to process different exception types
  • 6. Handling Exceptions • Keywords try { // includes code in which exception might occur } catch (InvalidOperationException) { //Code to handle the exception //Must be of class Exception or one that extends it directly or indirectly } catch (SomeOtherException) { // code that recovers from an SomeOtherException // (or any exception type derived from it) } catch { // code that recovers from any kind of exception // when you catch any exception, you usually re-throw throw; } finally { // code that cleans up any operations started // within the try block. // (Optional) code present here will always be executed }
  • 7. Types of Exceptions • .NET exceptions inherit from System.Exception • The system exceptions inherit from System.SystemException, e.g. – System.ArgumentException – System.NullReferenceException – System.OutOfMemoryException – System.StackOverflowException • User-defined exceptions should inherit from System.ApplicationException
  • 8. Common .NET Exceptions  The CLR generates SystemExceptions, derived from class Exception, which can occur at any point during program execution.  If a program attempts to access an out-of-range array index, the CLR throws an exception of type IndexOutOfRangeException.  Attempting to use a null reference causes a NullReferenceException.
  • 9. try block • A try block contains code that requires common cleanup or exception-recovery operations. • The cleanup code should be put in a single finally block. • The exception recovery code should be put in one or more catch blocks. – Create one catch block for each kind of type you want to handle. • A try block must have at least one catch or finally block.
  • 10. catch block • A catch block contains code to execute in response to an exception. • If the code in a try block doesn’t cause an exception to be thrown, the CLR will never execute the code in any of its catch blocks. • The catch type must be of type System.Exception or a type that derived from System.Exception • You can also specify a variable name like catch(Exception e) to access information specific to the exception.
  • 11. finally block  C# provides the finally block, which is guaranteed to execute regardless of whether an exception occurs.  If the try block executes without throwing, the finally block executes.  If the try block throws an exception, the finally block still executes regardless of whether the exception is caught.  This makes the finally block ideal to release resources from the corresponding try block.
  • 12. finally block (conti.) • Local variables in a try block cannot be accessed in the corresponding finally block, so variables that must be accessed in both should be declared before the try block. • Placing the finally block before a catch block is a syntax error. • A try block does not require a finally block, sometimes no clean-up is needed. • A try block can have no more than one finally block.
  • 13. System.Exception  In .NET, only objects of class Exception and its derived classes may be thrown and caught.  Exceptions thrown in other .NET languages can be caught with the general catch clause.  Class Exception is the base class of .NET’s exception class hierarchy.  A catch block can use a base-class type to catch a hierarchy of related exceptions.  A catch block that specifies a parameter of type Exception can catch all exceptions.
  • 14. Benefits of Exceptions • The ability to keep code that deals with exceptional situations in a central place. • The ability to locate and fix bugs in the code • Unified error handling: all .NET Framework classes throw exceptions to handle error cases.
  • 15. Benefits of Exceptions (conti.) • Old Win32 APIs and COM returns a 32-bit error code. Exceptions include a string description of the problem. • Exceptions also include a stack trace that tells you the path application took until the error occurred. • You can also put any information you want in a userdefined exception of your own.
  • 16. Example OUTPUT:
  • 17. KEYWORDS • HelpLink:This is empty because it was not defined on the exception. HelpLink is a string property. • Message:This is a short description of the exception's cause. Message is a read-only string property. • Source:This is the application name. Source is a string property that can be assigned to or read from. • StackTrace:This is the path through the compiled program's method hierarchy that the exception was generated from. • TargetSite:This is the name of the method where the error occurred. This property helps simplify what part of the errors are recorded.
  • 18. If this presentation helped you, please visit our page facebook.com/baabtra and like it. Thanks in advance. www.baabtra.com | www.massbaab.com |www.baabte.com
  • 19. Contact Us Emarald Mall (Big Bazar Building) Mavoor Road, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 Start up Village Eranakulam, Kerala, India. Email: info@baabtra.com NC Complex, Near Bus Stand Mukkam, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550