Csharp/CSharp Tutorial/Language Basics/Exception in Method

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

An exception can be generated by one method and caught by another

using System; 
 
class MainClass {  
  public static void Main() {  
  
    try {  
      genException(); 
    }  
    catch (IndexOutOfRangeException) {  
      // catch the exception  
      Console.WriteLine("Index out-of-bounds!");  
    }  
    Console.WriteLine("After catch statement.");  
  }  
  public static void genException() { 
    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; 
      Console.WriteLine("nums[{0}]: {1}", i, nums[i]); 
    } 
 
    Console.WriteLine("this won"t be displayed");  
  } 
}
Before exception is generated.
nums[0]: 0
nums[1]: 1
nums[2]: 2
nums[3]: 3
Index out-of-bounds!
After catch statement.

System.Exception is the base exception class. All exceptions in .NET are derived from System.Exception.

using System;
public class Starter {
    public static void Main() {
        try {
            int var1 = 5, var2 = 0;
            var1 /= var2;    // exception occurs
        } catch (Exception except) {
            if (except is SystemException) {
                Console.WriteLine("Exception thrown by runtime");
            } else {
                Console.WriteLine("Exception thrown by application");
            }
        }
    }
}