Création de classes d’erreur personnalisées

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Vous pouvez étendre l’une des classes Error standard pour créer vos classes d’erreur spécialisées dans ActionScript. Vous pouvez créer vos classes d’erreur pour les motifs suivants :

  • Identifier des erreurs ou des groupes d’erreurs spécifiques uniques pour votre application.

    Outre les erreurs interceptées par un moteur d’exécution de Flash, vous pouvez par exemple gérer différemment les erreurs renvoyées par votre propre code. Vous pouvez créer une sous-classe de la classe Error pour suivre le nouveau type de données d’erreur dans les blocs try..catch.

  • Fournir des fonctionnalités d’affichage d’erreurs exceptionnelles pour les erreurs générées par votre application.

    Par exemple, vous pouvez créer une méthode toString() qui formate vos messages d’erreur d’une certaine façon. Vous pouvez également définir une méthode lookupErrorString() qui prend un code d’erreur et récupère le message adéquat en fonction du langage que l’utilisateur préfère.

Une classe d’erreur spécialisée doit étendre la classe Error d’ActionScript de base. Voici un exemple de classe AppError spécialisée qui étend la classe Error :

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

L’exemple suivant illustre l’utilisation d’une classe AppError dans votre projet :

try 
{ 
    throw new AppError("Encountered Custom AppError", 29); 
} 
catch (error:AppError) 
{ 
    trace(error.errorID + ": " + error.message) 
}
Remarque : si vous souhaitez remplacer la méthode Error.toString() dans votre sous-classe, fournissez-lui un paramètre ...(rest). La spécification du langage ECMAScript sur laquelle est basé ActionScript 3.0 définit ainsi la méthode Error.toString() et ActionScript 3.0 respecte cette définition à des fins de rétrocompatibilité. Par conséquent, lorsque vous remplacez la méthode Error.toString(), veillez à ce que les paramètres se correspondent exactement. Vous ne pouvez pas transmettre de paramètres à la méthode toString() lors de l’exécution, car ils sont ignorés.