Flash Player 7。
throw expression
语句;生成(“抛出”)一个可由 catch{}
或 finally{}
代码块处理(“捕获”)的错误。如果异常未被 catch
或 finally
代码块捕获,抛出值的字符串表示形式将被发送到“输出”面板。
通常,抛出的错误是 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(); } }