| Introdução
Na computação há dois tipos de erros, os de compilação e execução.
Bloco protegido É um recurso muito comum em várias linguagens de programação, que consiste em proteger certas partes do programa para que sejam tratados os erros de execução. O interpretador tenta executar o bloco protegido, caso ocorra um erro ele desvia o fluxo do processamento para o bloco de exceção onde executa operações que foram definidas pelo programador, por exemplo, exibe a mensagem para o usuário: Não foi possível concluir a operação. Como evitar erros Para você ter uma aplicação sem “erros”, você deve fazer uma seqüência de testes, testando todas as funcionalidades da sua aplicação. As vezes você testa a aplicação e acha que está perfeita, mas por exemplo, se você está utilizando permissões de usuário e testar a aplicação somente com o usuário root, ela pode funcionar, mas quando testar com outro usuário serão condições diferentes que poderão causar erros. Para manter sua aplicação do ColdFusion funcionando corretamente, sempre utilize o bloco protegido em todos os comandos de sua página, pois aplicações para web podem causar erros de execução a qualquer momento, por diversos motivos. Utilizando bloco protegido
<cftry>
Bloco que deseja proteger! <cfcatch type=”any”> Caso ocorra um erros de execução o fluxo de processamento é deviado para cá! </cfcatch> </cftry> Identificando o local exato do erro No ColdFusion, quando ocorre um erro e você utiliza o bloco protegido, as informações referentes ao erro são gravadas na estrutura cfcatch, agora veremos como exibir essas informações: <cftry>
Bloco que deseja proteger! <cfcatch type=”any”> <cfinclude template=”erro.cfm“> </cfcatch> </cftry> Criando o arquivo erro.cfm <cfoutput>
Tipo do erro: #cfcatch.type#<br> Mensagem de erro: #cfcatch.message#<br> <cfloop index = 1 from = 1 to = #ArrayLen(cfcatch.tagcontext)#> <strong>Erro #i#</strong><br><br> Tag que ocorreu o erro: #cfcatch.tagcontext[i]["id"]#<br> Linha que ocorreu o erro: #cfcatch.tagcontext[i]["line"]#<br> Coluna que ocorreu o erro: #cfcatch.tagcontext[i]["column"]#<br> Endereço do arquivo que contém o erro: #cfcatch.tagcontext[i]["template"]#<br><br><br> </cfloop> </cfoutput> Considerações finais Agora vou mostrar mais um exemplo para fixar bem a teoria: <cfoutput>
<cftry> <cfquery name=”exemplo” datasource=”ds”> <cfcatch type=”database”> </cftry> Caso tenha alguma dúvida utilize o fórum. |
Últimos Comentários