0
Clean Code     Capítulo 7Tratamento de Erros      Allan Vieira RibeiroCássio Augusto Silva de Freitas       Eduardo Seguro...
Agenda●   Utilize exceções ao invés de código●   Implemente Try-catch primeiro●   Utilize exceções não verificadas●   Forn...
Introdução● Erros podem ser tratados dispersa e  confusa● Tratamento de erros é importante, mas se  atrapalha a lógica est...
Utilize exceções ao invés de códigos● Antigamente não haviam exceções● Utilização de códigos de erros● Códigos de erros ba...
Implemente o try-catch primeiro● Blocos try-catch definem o escopo de  execução● Melhora na clareza do codigo pelo fado de...
Utilize exceções não verificadas● Uma modificação em um nível mais baixo  pode necessitar uma alteração de uma  assinatura...
Forneça exceções com contexto● A exceção deve fornecer contexto suficiente  para determinar a fonte e a localização de  um...
Defina classes de exceções● Há várias formas de classificar os erros● Muitas vezes o tratamento dos erros são  parecidos● ...
Defina o fluxo normal● Exceções são utilizadas para definir o fluxo,  deixando o código poluído e com uma lógica  ruim. Ou...
Não retorne null!● Sempre trate-o no metodo ao qual você  realizou a invocação.● Talvez seria fácil realizar a verificação...
Não passe null!● "Retornar null dos métodos é ruim, mas  recebê-los como parâmetro é ainda pior"● Gera NullPointerExceptio...
Conclusões● Há várias maneiras de tratar os erros de  forma a deixar seu código mais limpo● O tratamento de erros deve ser...
Upcoming SlideShare
Loading in...5
×

Livro Código Limpo: Tratamento de Erros - Cap 7

332

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
332
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Livro Código Limpo: Tratamento de Erros - Cap 7"

  1. 1. Clean Code Capítulo 7Tratamento de Erros Allan Vieira RibeiroCássio Augusto Silva de Freitas Eduardo SeguroLuis Eduardo de Araújo Rocha
  2. 2. Agenda● Utilize exceções ao invés de código● Implemente Try-catch primeiro● Utilize exceções não verificadas● Forneça exceções com contexto● Defina classes de exceção● Defina o fluxo normal● Não retorne null!● Não passe null!
  3. 3. Introdução● Erros podem ser tratados dispersa e confusa● Tratamento de erros é importante, mas se atrapalha a lógica está errado.● Existem várias técnicas para tratamento de erros de forma limpa e elegante.
  4. 4. Utilize exceções ao invés de códigos● Antigamente não haviam exceções● Utilização de códigos de erros● Códigos de erros baguçam o invocador, ao ser necessário tratar todos os códigos.● Sempre que houver algum erro utilize exceções.● exceções torna o traramento de erro algo independente.
  5. 5. Implemente o try-catch primeiro● Blocos try-catch definem o escopo de execução● Melhora na clareza do codigo pelo fado de sempre apresentar um resultado.● É uma boa prática implementá-los primeiro, pois, não importa o que aconteça no try você deve deixar o programa em um bom estado.● Auxilia na hora de testar o software.
  6. 6. Utilize exceções não verificadas● Uma modificação em um nível mais baixo pode necessitar uma alteração de uma assinatura em níveis mais altos● Exceções verificadas violam o princípio aberto-fechado● Exceções verificadas podem acabar com o encapsulamento● Os custos da dependência geralmente superam as vantagens
  7. 7. Forneça exceções com contexto● A exceção deve fornecer contexto suficiente para determinar a fonte e a localização de um erro● Crie mensagens de erro informativas e as passe juntamente com as exceções● Informe a operação que falhou e o tipo de falha
  8. 8. Defina classes de exceções● Há várias formas de classificar os erros● Muitas vezes o tratamento dos erros são parecidos● Utilize exceções encapsuladoras● É uma boa prática encapsular outras exceções● Permite uma menor dependência de APIs de terceiros
  9. 9. Defina o fluxo normal● Exceções são utilizadas para definir o fluxo, deixando o código poluído e com uma lógica ruim. Ou seja, caso ocorra uma exceção uma outra parte da lógica é implementada no catch.● Nesses casos pode se criar uma classe ou configurar um objeto que trata esse caso de forma que não seja necessário tratar esses casos.
  10. 10. Não retorne null!● Sempre trate-o no metodo ao qual você realizou a invocação.● Talvez seria fácil realizar a verificação de valores null,● O problema é a quantidade de verificações que devem ser feitas.● Lance Exceções ou retorne um Objeto de caso especial.
  11. 11. Não passe null!● "Retornar null dos métodos é ruim, mas recebê-los como parâmetro é ainda pior"● Gera NullPointerException● Como consertar: ○ Lance outro tipo de excessão: InvalidArgumentException● É um pouco melhor, mas ainda assim temos um erro.● "Na maioria das linguagens de programação não há uma boa forma de lidar com null"● ENTÃO: NÃO PASSE NULL!
  12. 12. Conclusões● Há várias maneiras de tratar os erros de forma a deixar seu código mais limpo● O tratamento de erros deve ser feito de forma correta e não deixar para ser feito depois.● Tratar os erros ajuda na visibilidade do desenvolvedor e na geração de testes.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×