Skapa egna felklasser

Flash Player 9 och senare, Adobe AIR 1.0 och senare

Du kan i ActionScript förändra en av standardfelklasserna och skapa egna felklasser. Det kan finnas flera orsaker till varför du ska skapa egna felklasser:

  • När du vill identifiera specifika fel eller grupper med fel som är unika för programmet.

    Vidta till exempel andra åtgärder för fel som genereras av din egen kod, utöver de som fångas upp av Flash-miljön. Du skapar då en underklass till klassen Error som spårar den nya feldatatypen i try..catch-blocken.

  • När du vill visa unika felmeddelanden för fel som uppkommer i programmet.

    Du kan skapa en ny toString()-metod för att formatera dina felmeddelanden på ett speciellt sätt. Du kan också definiera en lookupErrorString()-metod som tar en felkod och hämtar rätt meddelande beroende på användarens språkinställningar.

En anpassad felklass måste utöka det väsentliga i ActionScript-felklassen. Här visas ett exempel på en anpassad AppError-klass som utökar klassen Error:

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

I följande exempel visas hur du kan använda AppError i dina projekt:

try 
{ 
    throw new AppError("Encountered Custom AppError", 29); 
} 
catch (error:AppError) 
{ 
    trace(error.errorID + ": " + error.message) 
}
Obs! Om du vill åsidosätta metoden Error.toString() i din underklass, ger du den en ...-parameter (rest). ECMAScript-språkspecifikationen som ActionScript 3.0 baseras på definierar metoden Error.toString() på det sättet, och ActionScript 3.0 definierar den på samma sätt för att ge bakåtkompatibilitet. Parametrarna måste därför överensstämma exakt när du åsidosätter metoden Error.toString(). Du ska inte skicka några parametrar till metoden toString() under körningen eftersom dessa parametrar kommer att ignoreras.