创建自定义错误类

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

您可以通过扩展其中一种标准的错误类,在 ActionScript 中创建您自己的专用错误类。有多种原因需要创建您自己的错误类:

  • 识别应用程序特有的错误或错误组。

    例如,除由 Flash 运行时捕获的那些错误外,您还可以采取其他操作来处理由自己的代码引发的错误。您可以创建 Error 类的一个子类,以便在 try..catch 块中跟踪新的错误数据类型。

  • 为应用程序生成的错误提供特有的错误显示能力。

    例如,可以创建一个以某种方式设置错误消息格式的新的 toString() 方法。还可以定义一个 lookupErrorString() 方法,该方法获取错误代码并根据用户的语言首选参数查找适当的消息。

专用的错误类必须扩展 ActionScript 的核心错误类。以下是一个扩展了 Error 类的专用 AppError 类示例:

public class AppError extends Error 
{ 
    public function AppError(message:String, errorID:int) 
    { 
        super(message, errorID); 
    } 
}

以下是在项目中使用 AppError 的一个示例:

try 
{ 
    throw new AppError("Encountered Custom AppError", 29); 
} 
catch (error:AppError) 
{ 
    trace(error.errorID + ": " + error.message) 
}
注: 如果要在子类中覆盖 Error.toString() 方法,请为其提供一个 ...(其余)参数。ActionScript 3.0 所依据的 ECMAScript 语言规范通过这种方式定义 Error.toString() 方法,ActionScript 3.0 通过同样的方式定义该方法以实现向后兼容。因此,当您覆盖 Error.toString() 方法时,请与参数完全匹配。在运行时,您不希望将任何参数传递给 toString() 方法,因为这些参数都会被忽略。