Csharp/CSharp Tutorial/Language Basics/Exception in Method
An exception can be generated by one method and caught by another
<source lang="csharp">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"); }
}</source>
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.
<source lang="csharp">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"); } } }
}</source>