throw

Availability

Flash Player 7.

Usage

throw expression

Description

Statement; generates ("throws") an error that can be handled ("caught") by a catch{} or finally{} code block. If an exception is not caught by a catch or finally block, the string representation of the thrown value is sent to the Output panel.

Typically, you throw instances of the Error class or its subclasses (see the following examples).

Parameters

expression An ActionScript expression or object.

Example

In this example, a function named checkEmail() checks whether the string that is passed to it is a properly formatted e-mail address. If the string does not contain an @ symbol, the function throws an error.

function checkEmail(email:String) {
  if (email.indexOf("@") == -1) {
    throw new Error("Invalid email address");
  }
}

The following code then calls the checkEmail() function within a try code block, passing the text in a text field (email_txt) as a parameter. If the string parameter does not contain a valid e-mail address, the error message is displayed in a text field (error_txt).

try {
  checkEmail("Joe Smith");
} catch (e) {
  error_txt.text = e.toString();
}

In this example, a subclass of the Error class is thrown. The checkEmail() function is modified to throw an instance of that subclass. (For more information, see Creating subclasses.)

// Define Error subclass InvalidEmailError
// In InvalidEmailError.as:
class InvalidEmailAddress extends Error {
  var message = "Invalid email address.";
}

function checkEmail(email:String) {
  if (email.indexOf("@") == -1) {
    throw new InvalidEmailAddress();
  }
}

See also

Error class, try..catch..finally