This documentation is archived and is not being maintained.

throw (C# Reference)

The throw statement is used to signal the occurrence of an anomalous situation (exception) during the program execution.

The thrown exception is an object whose class is derived from System.Exception, as shown in the following example.

class MyException : System.Exception {}
// ...
throw new MyException();

Usually the throw statement is used with try-catch or try-finally statements. A throw statement can be used in a catch block to re-throw the exception that the catch block caught. In this case, the throw statement does not take an exception operand. For more information and examples, see try-catch (C# Reference) and How to: Explicitly Throw Exceptions.

This example demonstrates how to throw an exception using the throw statement.

    public class ThrowTest2

        static int GetNumber(int index)
            int[] nums = { 300, 600, 900 };
            if (index > nums.Length)
                throw new IndexOutOfRangeException();
            return nums[index];

        static void Main() 
            int result = GetNumber(3);

        The System.IndexOutOfRangeException exception occurs.

For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.