35
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique [email protected] http://thiagorique.wordpress.com/

LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique [email protected]

Embed Size (px)

Citation preview

Page 1: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

TRATAMENTO DE EXCEÇÕES

Prof. Thiago Pereira Rique

[email protected]

http://thiagorique.wordpress.com/

Page 2: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

AGENDA

Introdução Exemplo de divisão por zero sem tratamento

de exceções Exemplo de tratamento de

ArithmeticExceptions e InputMismatchExceptions

Bloco finally Exemplos de exceções Mecanismos de exceções Criando suas próprias classes de exceções Criando suas próprias classes de exceções –

estendendo o exemplo

Page 3: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

INTRODUÇÃO

Tratamento de exceções Programas robustos e tolerantes a falhas Classes que estendem Throwable

Page 4: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE DIVISÃO POR ZERO SEM TRATAMENTO DE EXCEÇÕES

Page 5: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE DIVISÃO POR ZERO SEM TRATAMENTO DE EXCEÇÕES

Page 6: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE DIVISÃO POR ZERO SEM TRATAMENTO DE EXCEÇÕES

Page 7: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE DIVISÃO POR ZERO SEM TRATAMENTO DE EXCEÇÕES

Page 8: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE DIVISÃO POR ZERO SEM TRATAMENTO DE EXCEÇÕES

Page 9: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE TRATAMENTO DE ARITHMETICEXCEPTIONS E INPUTMISMATCHEXCEPTIONS

Page 10: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE TRATAMENTO DE ARITHMETICEXCEPTIONS E INPUTMISMATCHEXCEPTIONS

Page 11: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE TRATAMENTO DE ARITHMETICEXCEPTIONS E INPUTMISMATCHEXCEPTIONS

Page 12: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLO DE TRATAMENTO DE ARITHMETICEXCEPTIONS E INPUTMISMATCHEXCEPTIONS

Page 13: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BLOCO FINALLY

Opcional

Page 14: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

BLOCO FINALLY

finally é executado Se exceção for lançada no try correspondente. Se o bloco try terminar (return, break ou

continue). Alcançando chave de fechamento do try.

finally não é executado System.exit

Liberação de recursos

Page 15: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

EXEMPLOS DE EXCEÇÕES

Acesso a um array fora dos limites; Divisão por zero; Incompatibilidade de tipos; Esgotamento de memória; Saldo insuficiente para realizar um saque; Conta não encontrada.

Page 16: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

MECANISMOS DE EXCEÇÕES

Ao invés de códigos, exceções!

Exceções são objetos de classes que estedem (extends) a superclasse Exception.

Subclasses de Exception são definidas para Fornecer informações sobre o

problema/falha/erro. Diferenciar os possíveis tipos de falha que

podem ocorrer.

Page 17: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO

A classe SaldoInsuficienteException

Page 18: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO

A classe Conta_Bancaria

Page 19: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO

A classe Testa_Conta_Bancaria

Page 20: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO

A classe Testa_Conta_Bancaria

Page 21: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO

Page 22: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO

Page 23: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe SaldoInsuficienteException

Page 24: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe ContaNaoEncontradaException

Page 25: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe ContaBancaria

Page 26: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe ContaBancaria

Page 27: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Interface RepositorioDeContas

Page 28: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe RepositorioDeContasArray

Page 29: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe RepositorioDeContasArray

Page 30: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe Banco

Page 31: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe TestaContaBancaria

Page 32: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe TestaContaBancaria

Page 33: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe TestaContaBancaria

Page 34: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

CRIANDO SUAS PRÓPRIAS CLASSES DE EXCEÇÃO – ESTENDENDO O EXEMPLO

Classe TestaContaBancaria

Page 35: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES Prof. Thiago Pereira Rique thiagorique2011@gmail.com

REFERÊNCIA

DEITEL, H.M; Java Como Programar. Ed. Pearson, 8ª ed, 2010.