Export (0) Print
Expand All


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

throw [expression];


The exception object. This is omitted when rethrowing the current exception object in a catch clause.


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. When an exception is thrown, the program looks for the catch statement that handles this exception.

You can also rethrow a caught exception using the throw statement. For more information and examples, see try-catch, 8.10 The try statement and Throwing Exceptions.


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

// throw example
using System;
public class ThrowTest 
   public static void Main() 
      string s = null;

      if (s == null) 
         throw(new ArgumentNullException());

      Console.Write("The string s is null"); // not executed


The following exception occurs:



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

See Also

Compare to C++ | C# Keywords | Exception Handling Statements | Throwing Exceptions | C. Grammar

© 2015 Microsoft