Top Banner
Tratamento de Exceção em Java Marques Henrique Amaro Natasha Silveira Pinheiro Disciplina de Projeto Detalhado de Software Prof. Camilo Camilo Almendra
12

Tratamento de exceção em java

Jul 18, 2015

Download

Education

Marques Amaro
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Tratamento de Exceo em Java

    Marques Henrique Amaro

    Natasha Silveira Pinheiro

    Disciplina de Projeto Detalhado de Software Prof. Camilo Camilo Almendra

  • Introduo

    Exceo

    Qualquer evento no usual que detectvel por hardware ou por software que possam requerer um processamento especial.

    Tratamento de Exceo

    Processamento especial que pode ser requerido quando uma exceo detectada.

  • Motivao

    Como avisar aquele que chamou o mtodo de que ele no conseguiu fazer aquilo que deveria?

    Um mtodo pode detectar uma falha, mas no estar apto a resolver sua causa, devendo repassar essa funo a quem saiba.

  • Excees em Java

    A linguagem Java d suporte ao tratamento de excees

    Excees so representadas por classes

    So lanadas pelo comando throw

    So tratadas pela estrutura try-catch-finally

    Um mtodo que lance uma exceo deve declarar isso explicitamente.

    Para umas classe representar uma exceo, ela deve pertencer a uma certa hierarquia. A classe raiz de todas as excees java.lang.Throwable.

  • Hierarquia de Excees

  • Estrutura try-catch-finally

    Try

    utilizado para indicar um bloco de cdigo que possa ocorrer uma exceo e que a execuo pode ser cancelada a qualquer momento e continuar no catch.

    Catch

    utilizado para manipular as excees, ou seja, tratar o erro. Deve aparecer aps o try.

    Finally

    Ser executado depois do bloco try/catch e finaliza a sequncia de comandos do sistema. opcional. normalmente usado para liberao de recursos.

  • Exemplo

  • Sem Tratamento de Exceo

    A conta precisa avisar que o saldo no suficiente

    Alm disso, precisa tratar o caso em que o valor passado invlido

  • Com Tratamento de Exceo

    O cdigo ficou mais limpo e mais propcio a mudanas

  • Continuando...

    O exemplo usado anteriormente bom, caso o tratador seja quem o que o chama o mtodo, mas imagine numa aplicao real, onde o fedback do usurio acontece na interface. As excees checkeds deixariam o cdigo muito acoplado.

    Por exemplo: uma classe A chama uma classe B, que chama uma classe C, que chama saque de conta.

    O que fazer?

    Isso tem nome. So excees de alto nvel, logo devem ser tratadas na camada mais externa da aplicao. Usariamos uma Unchecked Exception.

  • Concluso

    Tratar excees no apenas trat-las, mas sim tratar no lugar correto e da forma correta.

    O tratamento de excees, quando feito da forma mais adequada, deixa o cdigo limpo e sem obscurecer a lgica.

  • Referncias

    Trabalhando com Excees em Java. Disponvel em: . Acesso em: 7 nov. 2014

    MARTIN, R. C. Cdigo Limpo: habilidades prticas do Agile Software. Rio de Janeiro: Alta Books, 2011.

    Caelum, Apostila Java e Orientao a Objetos. Disponvel em: . Acesso em: 7 nov. 2014

    AULA 15 Excees IF669, Cin-UFPE. Disponvel em: . Acesso em: 7 nov. 2014