A algum tempo tenho usado o bloco “tr...catch” erradamente nos sites que tenho desenvolvido. Por exemplo, ter duas funções em apenas um bloco catch. Veja o código.
http://pastebin.com/3JNEnqq0 Se parar para pensar esse não é um forma 100% seguro para tratamento de exceções. No bloco acima se o método de adicionar endereço falhar o cadastro do cliente vai está errado. Tinha ciencia desse problema mas não levava a serio. Qual seria a melhor forma de garantir o cadastro do cliente? O código acima foi somente um exemplo, tenho um caso real atualmente que é o seguinte. Tenho um processo de cadastro de cliente onde é necessário inserir os serviços adquiridos, criar a fatura, enviar e-mails de notificação.(varios e-mails) http://pastebin.com/UYQFuUT8 *O último método de enviar e-mail “notificar” e sem dúvida o grande vilão, nele a grandes chances de ocorrer um erro por falha na conexão, host fora do ar. Etc.* *Criando vários blocos “catch” eu consigo gerenciar detalhadamente o erro caso aconteça em qualquer parte do código.* *Se a última etapa falhar, que é a de notificação, posso ainda carregar uma página de sucesso e avisar somente que ocorreu um erro no envio do e-mail.* *Se acontecer uma falha na parte de adicionar o serviço ao cliente, que seria muito ruim, posso simplesmente apagar o cadastro do cliente feito no primeiro processo.* *Essa seria a melhor forma de controlar os possíveis erros ? Alguém faz algo diferente disso?* -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para ver esta discussão na web, acesse https://groups.google.com/d/msg/kohana-php/-/PgEhMsjT0psJ. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
