Создание пользовательских классов ошибок

Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий

В ActionScript можно расширить один из стандартных классов ошибок, создав таким образом свой собственный специализированный класс. Существует несколько причин для создания собственных классов ошибок.

  • Создание класса для идентификации специфических ошибок или их групп, присущих только для данного приложения.

    Например, предпринимайте различные действия для обработки ошибок, генерируемых собственным кодом программиста, в добавление к тем ошибкам, которые перехватываются средой выполнения Flash. Можно создать подкласс класса Error для отслеживания новых типов данных ошибок в блоках try..catch .

  • Создание класса для обеспечения уникальных возможностей отображения ошибок, генерируемых пользовательским приложением.

    Например, можно создать новый метод toString() , который форматирует сообщения об ошибках определенным образом. Можно также задать метод lookupErrorString() , который принимает код ошибки и извлекает из него соответствующее сообщение, базируясь на языковых предпочтениях пользователя.

Специализированный класс ошибки должен расширять основной класс Error ActionScript. Ниже приведен пример специализированного класса AppError, который является расширением класса Error:

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). Так определяет метод Error.toString() языковая спецификация ECMAScript, на базе которой построен язык ActionScript 3.0, и для обеспечения обратной совместимости ActionScript 3.0 определяет его так же. Таким образом, при замене метода Error.toString() необходимо обеспечить точное соответствие параметров. Не имеет смысла задавать параметры для метода toString() во время выполнения программы, поскольку в этом режиме они игнорируются.