ActionScript/Tratamento de exceções
Aspeto
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.