Handling Exceptions in C# Programs

Naimishforu
Posted by in C# category on for Intermediate level | Points: 250 | Views : 6718 red flag
Rating: 5 out of 5  
 1 vote(s)

In this article I shall demonstrate the exception-handling capabilities of C#.

Introduction

 
After finishing the Part 1, let's create a program that will demonstrate the exception-handling capabilities of C#.   
This program will define an array that contains only one element. 
 
The program will then prompt the user to enter a 0 or a 1. If 0 is entered, program execution performs as expected and the element at an index of zero in the array will be displayed on screen. If 1 is entered, an exception will be thrown, as there is no corresponding index in the array.
 
Step 1 of 4
 
The Main method of this program may throw an exception.
 
Enter the keyword that marks the code the program will attempt to execute.
 
using System; 
  
namespace Exceptions 
{ 
  class ExceptionHandlingTest 
  { 
    static void Main(string[] args) 
    { 
       int[] intArray = {100}; 
       MISSING CODE (You will have to enter TRY Block over here)
    } 
  } 
}

 
Result
 
You type try, which encloses the code in a method that is to be executed but may throw an exception.
 
Step 2 of 4
 
The try block contains code that will be executed and may throw an exception.
 
What will the program do if an exception is thrown?    

using System; 
  
namespace Exceptions 
{ 
  class ExceptionHandlingTest 
  { 
    static void Main(string[] args) 
    { 
      int[] intArray = {100}; 
      try 
      { 
  
       MISSING CODE (You will have to enter proper Catch Block)
      } 
    } 
  } 
}

 
Result
 
If an exception is thrown, the program will unwind the assembly until it finds a catch statement that contains an appropriate exception handler.
 
Step 3 of 4
 
To signal an abnormal condition on C#, you throw an exception.
 
Enter the line of code that creates an instance of System.Exception.
 

using System; 
  
namespace Exceptions 
{ 
  class ExceptionHandlingTest 
  { 
    static void Main(string[] args) 
    { 
      int[] intArray = {100}; 
      try 
      { 
                 Console.WriteLine("Enter 0 for an Exception "); 
                 Console.WriteLine("Enter 1 for IndexOutOfRangeException"); 
                 int index = Int32.Parse(Console.ReadLine()); 
  
                 Console.WriteLine("Number is {0}", intArray[index].ToString()); 
                 
        MISSING CODE; (You can choose any line of code from the Results below)
      } 
    } 
  } 
}

Result
 
In fact, you can use any of the following lines of code to create an instance of System.Exception:
 
throw new Exception() 
throw new System.Exception() 
throw new Exception( ) 
throw new System.Exception( ) 
throw new Exception() 
throw new System. Exception() 
 
Step 4 of 4
 
The array described in this program contains only one element.
 
Which exception will be thrown if the user chooses an element that isn't part of the array?
 

catch (MISSING CODE)

 
Result
 
If the user tries to choose an element that isn't part of the array, the IndexOutOfRangeException exception is thrown.
 
The following is the output of this program when the user enters 0.
 
Enter 0 for an Exception 
  
Enter 1 for IndexOutOfRangeException 
  
0 
  
Number is 100 
  
Exception of type System.Exception was thrown. 
  
There is only one element in this array: 100 
  
And this is the output if the user enters 1. 
  
Enter 0 for an Exception 
  
Enter 1 for IndexOutOfRangeException 
  
1 
  
IndexOutOfRangeException caught, 
  
an index of 1 does not exist in the array! 
  
There is only one element in this array: 100 

 
Thanks for reading.
 
Page copy protected against web site content infringement by Copyscape

About the Author

Naimishforu
Full Name: Naimish Pandya
Member Level: Bronze
Member Status: Member,MVP
Member Since: 1/22/2011 7:38:35 AM
Country: India
Thanks, Naimish http://dotnetinterview.zxq.net/ http://naimishpandya.blogspot.in/
http://naimishpandya.blogspot.in/

Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)