Try Catch Finally

Esse bloco é utilizado para testar um fluxo de blocos contido na entrada de instrução try. Caso seja detectado um erro, o conteúdo contido em catch será executado antes da continuação do código em finally


Figura 1 - Bloco Try Catch Finally e sua janela de configuração


O ícone de configuração do bloco permite definir quais as entradas de instruções serão usadas: apenas try, try-catch; try-finally ou try-catch-finally. Não é possível adicionar 2 entradas de instruções iguais.

Compatibilidade

 Servidor

 Cliente

Exemplo 1

No exemplo da figura 3, a variável "lista" recebe uma lista com apenas 2 posições, e em seguida o bloco Try Catch Finally é iniciado. Na entrada de instrução try, a variável "resultado" tenta receber o valor de uma posição que não existe na lista (posição 5), gerando uma exceção e alimentando, com o erro gerado, a variável "excecao" da entrada de instrução catch. Em nosso exemplo, a entrada de instrução catch apenas exibe a frase "Ocorreu um erro: " e concatena com valor da variável "excecao". Por fim, o conteúdo em finally imprime no console a frase "O valor da posição 5 é: " e concatena com o valor da variável "resultado".

Como não foi possível obter o valor da 5ª posição da lista, uma exceção foi criada e a frase da instrução finally está incompleta, já que a variável "resultado" não possui valor.


Figura 2 - Exemplo de uso do bloco try catch finally


Sobre Exceções

Exceções representam uma situação que normalmente não ocorre, sinalizando que ocorreu algum problema no tempo de execução de um programa. Tais problemas podem ocorrer por vários motivos, como por exemplo, ao se dividir um número por zero.

Entrada de instrução Try

A entrada de instrução try sempre será executada e é utilizada para delimitar quais blocos da função serão tratados. Se uma exceção for encontrada, o conteúdo da entrada de instrução catch será executado em seguida, caso contrário, o conteúdo do finally será o próximo. 

Entrada de instrução Catch

A instrução catch só será executada caso ocorra algum problema dentro de try, possibilitando que seja tratado o erro.

Logo após o nome catch no bloco, existe um espaço reservado para adicionar uma variável qualquer. Essa variável irá receber o conteúdo gerado pela exceção. 


Figura 3 - Adicionando a variável que irá receber o erro gerado

Entrada de instrução Finally

A instrução finally sempre será executada e permite que um bloco seja executado após a execução de um bloco de catch e/ou de try.




  • Sem rótulos