Using Exception members : Exception « Language Basics « C# / CSharp Tutorial






using System; 
 
class MainClass {  
  public static void Main() {  
  
    try {  
        int[] nums = new int[4];  
     
        Console.WriteLine("Before exception is generated."); 
     
        // Generate an index out-of-bounds exception. 
        for(int i=0; i < 10; i++) { 
            nums[i] = i; 
        } 
    }  
    catch (IndexOutOfRangeException exc) {  
      Console.WriteLine("Standard message is: "); 
      Console.WriteLine(exc); // calls ToString() 
      Console.WriteLine("Stack trace: " + exc.StackTrace); 
      Console.WriteLine("Message: " + exc.Message); 
      Console.WriteLine("TargetSite: " + exc.TargetSite); 
      Console.WriteLine("Class defining member: {0}", exc.TargetSite.DeclaringType);
      Console.WriteLine("Member type: {0}", exc.TargetSite.MemberType);
      Console.WriteLine("Source: {0}", exc.Source);
      Console.WriteLine("Help Link: {0}", exc.HelpLink);
      
    }  
    Console.WriteLine("After catch statement.");  
  }  
}
Before exception is generated.
Standard message is:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at MainClass.Main()
Stack trace:    at MainClass.Main()
Message: Index was outside the bounds of the array.
TargetSite: Void Main()
Class defining member: MainClass
Member type: Method
Source: main
Help Link:
After catch statement.








1.17.Exception
1.17.1.The Exception Hierarchy
1.17.2.The System.Exception Class
1.17.3.A Closer Look at Exception
1.17.4.Using Exception members
1.17.5.Exception propagation with methods
1.17.6.An unhandled exception
1.17.7.Commonly Used Exceptions Defined Within the System Namespace
1.17.8.Handling a possible exception.