ActionScript/Tratamento de exceções

Origem: Wikilivros, livros abertos por um mundo aberto.

A versão 3.0 da linguagem da suporte a tratamento de exceções usando a cláusula try/catch/finally. Em poucas palavras podemos definir que um bloco try tenta executar um código, e em caso de erro é executado o bloco contido em catch. Veja o exemplo:

var MyError:Error = new Error("Encountered an error with the numUsers value", 99); 
var numUsers:uint = 0; 
try 
{ 
    if (numUsers == 0) 
    { 
        trace("numUsers equals 0"); 
    } 
} 
catch (error:uint) 
{ 
    throw MyError; // Catch unsigned integer errors. 
} 
catch (error:int) 
{ 
    throw MyError; // Catch integer errors. 
} 
catch (error:Number) 
{ 
    throw MyError; // Catch number errors. 
} 
catch (error:*) 
{ 
    throw MyError; // Catch any other error. 
} 
finally  
{ 
    myFunction(); // Perform any necessary cleanup here. 
}

Os blocos catch e finally são facultativos, podendo-se usar caso se deseje. No entanto, é preciso que um deles esteja presente; caso contrário será lançado um erro de compilação.