사용자 정의 오류 클래스 만들기

Flash Player 9 이상, Adobe AIR 1.0 이상

ActionScript에서 표준 Error 클래스 중 하나를 확장하여 고유한 오류 클래스를 만들 수 있습니다. 고유한 오류 클래스를 만드는 데는 다음과 같은 여러 이유가 있습니다.

  • 응용 프로그램에 고유한 특정 오류나 오류 그룹을 식별하기 위해 만듭니다.

    예를 들어 Flash 런타임에서 트랩된 오류뿐만 아니라 자체적으로 작성한 코드에서 throw된 오류에 대해 다른 액션을 취할 수 있습니다. 이 경우 Error 클래스의 하위 클래스를 만들어 try..catch 블록에서 새로운 오류 데이터 유형을 추적할 수 있습니다.

  • 응용 프로그램에서 생성된 오류에 대해 고유한 오류 표시 기능을 제공하기 위해 만듭니다.

    예를 들어 특정 방식으로 오류 메시지를 포맷하는 새로운 toString() 메서드를 만들 수 있습니다. 오류 코드를 사용하여 사용자 언어 환경 설정을 기준으로 올바른 메시지를 검색하는 lookupErrorString() 메서드를 정의할 수도 있습니다.

고유한 오류 메시지는 핵심 ActionScript Error 클래스를 확장해야 합니다. 다음은 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() 메서드를 대체하려면 하나의 ... (rest) 매개 변수를 제공합니다. ActionScript 3.0의 기반이 되는 ECMAScript 언어 사양에서는 이런 방식으로 Error.toString() 메서드가 정의되며 ActionScript 3.0에서는 역호환성을 위해 이 메서드를 동일한 방식으로 정의합니다. 그러므로 Error.toString() 메서드를 대체할 경우 매개 변수를 정확하게 일치시킵니다. 런타임에 toString() 메서드에 다른 매개 변수를 전달해도 이 매개 변수는 무시됩니다.