When an abnormal or unexpected condition occurs in a running application, the CLR generates an exception as an alert that the condition occurred. The exception is said to be thrown. Developers can also programmatically force an exception to be thrown by the use of the throw statement.