Erstellen benutzerdefinierter Fehlerklassen

Flash Player 9 und höher, Adobe AIR 1.0 und höher

Sie können eine der Error-Standardklassen erweitern, um in ActionScript eigene spezielle Klassen zu erstellen. Es gibt eine Reihe von Gründen, eigene Fehlerklassen zu erstellen:

  • Identifizieren spezifischer Fehler oder Fehlergruppen, die nur in Ihrer Anwendung vorkommen.

    Beispielsweise können Sie für die von Ihrem Code ausgelösten Fehler – zusätzlich zu den von einer Flash-Laufzeitumgebung abgefangenen Fehlern – abweichende Aktionen ausführen. Sie können eine Unterklasse der Error-Klasse erstellen, um den neuen Fehlertyp in try..catch -Blöcken zu verfolgen.

  • Bereitstellen eigener Fehleranzeigefunktionen für die in Ihrer Anwendung erzeugten Fehler.

    Sie können beispielsweise eine neue toString() -Methode erstellen, mit der Fehlermeldungen auf bestimmte Weise formatiert werden. Sie können zudem eine lookupErrorString() -Methode definieren, der ein Fehlercode übergeben wird und die entsprechend der Sprachauswahl des Benutzers die richtige Fehlermeldung abruft.

Spezialisierte Fehlerklassen müssen die ActionScript-Kernklasse Error erweitern. Es folgt ein Beispiel für eine spezialisierte AppError-Klasse, die die Error-Klasse erweitert:

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

Im Folgenden finden Sie ein Beispiel zur Verwendung von AppError in eigenen Projekten:

try 
{ 
    throw new AppError("Encountered Custom AppError", 29); 
} 
catch (error:AppError) 
{ 
    trace(error.errorID + ": " + error.message) 
}
Hinweis: Wenn Sie die Error.toString() -Methode in Ihrer Unterklasse überschreiben möchten, versehen Sie sie mit einem ... (rest) -Parameter. In der ECMAScript-Sprachspezifikation, auf der ActionScript 3.0 basiert, wird die Error.toString() -Methode auf diese Weise definiert, und ActionScript 3.0 definiert sie aus Gründen der Abwärtskompatibilität genauso. Verwenden Sie daher beim Überschreiben der Error.toString() -Methode exakt dieselben Parameter. Es ist nicht nötig, Parameter zur Laufzeit an die toString() -Methode zu übergeben, da diese ignoriert werden.