throw

可用性

Flash Player 7。

用法

throw expression

说明

语句;生成(“抛出”)一个可由 catch{}finally{} 代码块处理(“捕获”)的错误。如果异常未被 catchfinally 代码块捕获,抛出值的字符串表示形式将被发送到“输出”面板。

通常,抛出的错误是 Error 类或其子类的实例(请参见下面的示例)。

参数

expression 一个动作脚本表达式或对象。

示例

在此示例中,一个名为 checkEmail() 的函数检查传递给它的字符串是否为格式正确的电子邮件地址。如果该字符串不包含 @ 符号,则该函数将抛出一个错误。

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

然后,下面的代码在一个 try 代码块内调用 checkEmail() 函数,将一个文本字段 (email_txt) 中的文本作为参数传递给该函数。如果该字符串参数中不包含有效的电子邮件地址,将在一个文本字段 (error_txt) 中显示该错误消息。

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

在此示例中,将抛出 Error 类的一个子类。我们对 checkEmail() 函数进行了修改,它将抛出该子类的一个示例。(有关更多信息,请参见创建子类。)

// 定义 Error 的子类 InvalidEmailError
// 在 InvalidEmailError.as 中:
class InvalidEmailAddress extends Error {
  var message = "Invalid email address.";
}

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

另请参见

Error 类try..catch..finally