Throw [v1.1.04+]

Signals the occurrence of an error. This signal can be caught by a try-catch statement.

Throw [, Expression]

Parameters

Expression

A value to store in catch's OutputVar.

Since this parameter is an expression, all of the following are valid examples:

throw 3
throw "literal string"
throw MyVar
throw i + 1
throw { what: "Custom error", file: A_LineFile, line: A_LineNumber } ; Throws an object

This parameter is always an expression, so variable references should not be enclosed in percent signs except to perform a double-deref.

[v1.1.05+]: If omitted, an Exception object is thrown with a default message.

Exception(Message [, What, Extra])

Creates an Exception object.

If What is omitted, it defaults to the name of the current function or subroutine. Otherwise it can be a string or a negative offset from the top of the call stack. For example, a value of -1 sets Exception.What to the current function or subroutine and Exception.Line to the line which called it.

try
    BadlyCodedFunc()
catch e
    MsgBox % "Error in " e.What ", which was called at line " e.Line 

BadlyCodedFunc() {
    throw Exception("Fail", -1)
}

Related

Try, Catch

Examples

See Try.