2. Exceções
● Erros acontecem
● Definição: Uma exceção representa uma situação que
normalmente não ocorre e representa algo de estranho ou
inesperado no sistema.
● Maneira antiga (ainda comum, mas considerada má pratica
por puristas OO) de tratar exceções é retornando um
boolean em um metodo para dizer se o metodo foi
executado com sucesso, ou um int com um código de erro.
● Código: ExemploExcecao
3. Analisando Erros
● Pilha execução (Stacktrace)
● Código: StackExcecao
● O que a mensagem de erro indica?
4. Tratando Exceptions
● try/catch
● Tentará (try) executar algum código, caso algum erro
especifico ocorra, o mesmo será capturado (catch) em um
determinado bloco.
● Envolver metodo1, em seguida o metodo2 com um try/catch
5. Exceções Runtime Comuns
● NullPointerException
● ArithmeticException
● ArrayIndexOutOfBoundsException
● ClassCastException
● Problemas comuns, que poderiam ser evitados pelo
programador, por esse motivo o JAVA não obriga o uso de
um try/catch. Logo elas também são conhecidas como
unchecked exceptions.
6. Checked Exceptions
● Fica claro que em situações de unchecked exceptions o
código ainda pode ser compilado e executado, em caso de
erro a execução é parada (caso não seja tratada).
● Entretanto há situações em que um método é obrigado a
tratar a exceção. Nesse caso nós temos as checked
exceptions.
● Codigo: ExemploChecked
7. Tratando Checked Exceptions
● Maneira 1: try/catch, assim como foi feito com as
unchecked exceptions
● Maneira 2: delegando para o metodo que o chamar usando
a palavra reservada throws
● Mas quando e qual maneira usar? Depende do problema