O tratamento de erros em Java

Documentos relacionados
Programação Orientada a Objetos

Tratamento de Exceções

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo

Tratamento de Exceção. Tratamento de Exceções. Vantagens de TE. Exemplos de Exceções. Exemplo: Divide1 (sem TE)

Tratamento de Exceções. Prof. Leonardo Barreto Campos 1

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Tratamento de Exceções. Java Avançado. Tratamento de Exceções. Conceito de Exceções. Exemplo

AULA TEÓRICA 3. Tema 4. Excepções Ø Tratamento de excepções

Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP

Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:

Java Standard Edition (JSE)

Programação Orientada a Objetos. Manipulação de Exceções

Mecanismo de exceções em Java

9 Exceções. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

Paradigmas da Programação PPROG. Linguagem JAVA. Exceções. (Livro Big Java, Late Objects Capítulo 7) Nelson Freire (ISEP DEI-PPROG 2015/16) 1/45

Exceções. Profa. Patrícia A. Jaques Slides alterados por Leandro Tonietto Mar-12. quarta-feira, 21 de março de 12

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Exceções

Tratando exceções em Java

Programação Orientada a Objetos SANTOS, Rafael (PLT)

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 28 de setembro de 12

Notas de Aula 09: Tratamento de exceções

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP

[Desenvolvimento OO com Java] Exceções e controle de erros

Programação Orientada a Objetos JAVA - NETBEANS

Capítulo 5. Tratamento de excepções

Capítulo 10. Tratamento de Exceções. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Erros, exceçõ. ções e asserçõ

Tratamento de Exceções. Profa. Thienne Johnson EACH/USP

Tratamento de Exceções em Java

Tratamento de Erro e Javadoc. Professor: Norton T. Roman


SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

terminar o programa; retornar um valor de erro indicando falha; retornar e ignorar o problema; chamar uma função para tratar o erro, etc...

Escola Superior de Gestão e Tecnologia. Tratamento de Exceções

O que é uma Exceção? Call Stack. Java Tratamento de Exceção. de métodos que foram usados até chegar na presente instrução.

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

Centro Federal de Educação Tecnológica do Amazonas. Java Avançado Prof. Tiago Eugenio de Melo

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Exceções e controle de erros

01. [Sebesta, 2000] Defina exceção, manipulador de exceções, levantamento de uma exceção, desativação de uma exceção e exceção incorporada.

Transcrição:

Exceções JAVA

O tratamento de erros em Java É um dos mecanimos mais poderosos para tratar os chamados runtime errors, de modo a que o fluxo normal do programa possa ser mantido. https://techterms.com/definition/runtime_error

Definição A nível geral, uma exceção é uma condição anormal. Em Java, uma exceção é um evento que quebra o fluxo normal das instruções de um programa. Trata-se de um objeto que é lançado em tempo de execução.

Manipulação de Exceções É o mecanismo que permite tratar os runtime errors.

Vantagens Manter o fluxo normal das instruções de um programa.

Exemplo Supondo que temos 10 instruções e que ocorre uma exceção na instrução 5. O resto do código não será executado (instruções 6 a 10). Ao efetuar a manipulação de exceções o resto do código já será executado.

Hierarchy of Java Exception classes

Categorias de Exceções 1. Checked Exception 2. Unchecked Exception 3. Error

Checked Exception São as classes que derivam da classe Throwable, à exceção de RuntimeException e Error. São verificadas no chamado compile-time (no momento de compilação).

Unchecked Exception São as classes que derivam de RuntimeException. Exemplos: ArithmeticException NullPointerException ArrayIndexOutOfBoundsException Não são verificadas no chamado compile-time, mas sim no runtime.

Error Algo irrecuperável. Por exemplo: OutOfMemoryError VirtualMachineError AssertionError

Exemplos concretos onde ocorrem exceções

Exemplo 1 - ArithmeticException Divisão de um número por zero.

Exemplo 2 - NullPointerException Acontece quando existe uma variável com valor nulo.

Exemplo 3 - NumberFormatException Acontece quando há o formato errado de um número. Por exemplo, converter uma variável do tipo string, que contém letras, para um número.

Exemplo 4 - ArrayIndexOutOfBoundsException Acontece quando se insere um valor no índice errado de um array.

Palavras reservadas para trabalhar com exceções Try Catch Finally Throw throws

O bloco TRY É usado para tratar o código que pode provocar uma exceção. Deve ser usado dentro do main. Deve ser seguido ou de um catch ou de um finally.

TRY-CATCH Sintaxe

TRY-FINALLY Sintaxe

O bloco CATCH É usado para tratar a exceção. Deve ser colocado, apenas, a seguir ao bloco TRY. Podem usar-se vários blocos CATCH num único TRY.

Exemplo de um programa sem tratamento de exceções

Solução através do tratamento de exceções

Um bloco TRY com múltiplos CATCH

Blocos TRY encadeados

O bloco FINALLY É usado para executar código importante, tal como: fechar uma conexão de bases de dados, fechar um ficheiro, etc. É sempre executado o bloco que está dentro dele. Fica a seguir a um bloco TRY ou a um bloco CATCH. É opcional.

Exemplo

Java throw exception

A palavra reservada throw É usada para lançar propositadamente uma exceção. É possível utilizar a palavra throw nas checked e unchecked exceptions. Também é usada para trabalhar com exceções personalizadas.

Sintaxe

Exemplo 1

Exemplo 2

A palavra reservada throws

É usada para Declarar uma exceção. Dá informação ao programador de que poderá ocorrer uma exceção. Por isso, será boa ideia realizar o tratamento da exceção, de forma a que o fluxo das instruções do programa decorra de forma normal.

Importante O tratamento de exceções é usado principalmente para tratar as checked exceptions. Se ocorrer alguma unchecked exception, tal como NullPointerException, é culpa do programador. Ou seja, ele não está a testar o código antes de o programa ser usado.

Sintaxe

Que tipo de exceção deverá ser declarada? Checked exception, apenas.

Porquê? Porque as unchecked exceptions estão dentro do controlo do programador, por isso este deverá corrigir o código. Porque os error estão fora do controlo do programador, por isso não há nada que ele possa fazer.

Diferença entre throw e throws throw A palavra throw é usada para lançar propositadamente uma exceção. As Checked exceptions não podem ser propagadas através do throw. Throw é seguido de uma instância. Throw é usado dentro do método. Não se podem lançar múltiplas exceções. throws A palavra throws é usada para declarar uma exceção. As Checked exceptions podem ser propagadas com o throws. Throws é seguido por uma classe. Throws é usado na assinatura do método. Podem ser declaradas múltiplas exceções, ex.: public void method()throws IOException,SQLException.

Exemplos

Exercício Alterar o método divisão da calculadora, de forma a que seja utilizada a palavra throws.