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, for example:

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

Usually the throw statement is used with try-catch or try-finally statements.

You can also rethrow a caught exception using the throw statement. For more information and examples, see try-catch and Throwing 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.

Code Example

See the try-catch, try-finally, and try-catch-finally examples.

C# Language Specification

For more information, see the following sections in the C# Language Specification:

  • Throw statements

  • 8.9.5 The throw statement

See Also


How to: Explicitly Throw Exceptions


C# Programming Guide


The try, catch, and throw Statements

C# Keywords

Exception Handling Statements (C# Reference)

Other Resources

C# Reference

Change History




September 2008

Fixed example code.

Customer feedback.