Exceções Java

Neste tutorial, aprenderemos sobre exceções em Java. Cobriremos erros, exceções e diferentes tipos de exceções em Java.

Uma exceção é um evento inesperado que ocorre durante a execução do programa. Afeta o fluxo das instruções do programa, o que pode fazer com que o programa seja encerrado de forma anormal.

Uma exceção pode ocorrer por vários motivos. Alguns deles são:

  • Entrada de usuário inválida
  • Falha do dispositivo
  • Perda de conexão de rede
  • Limitações físicas (sem memória em disco)
  • Erros de código
  • Abrindo um arquivo indisponível

Hierarquia de exceção Java

Aqui está um diagrama simplificado da hierarquia de exceção em Java.

Como você pode ver na imagem acima, a Throwableclasse é a classe raiz na hierarquia.

Observe que a hierarquia se divide em dois ramos: Erro e Exceção.

Erros

Os erros representam condições irrecuperáveis, como máquina virtual Java (JVM) sem memória, vazamentos de memória, erros de estouro de pilha, incompatibilidade de biblioteca, recursão infinita, etc.

Os erros geralmente estão além do controle do programador e não devemos tentar tratá-los.

Exceções

As exceções podem ser capturadas e tratadas pelo programa.

Quando ocorre uma exceção em um método, ele cria um objeto. Este objeto é chamado de objeto de exceção.

Ele contém informações sobre a exceção, como o nome e a descrição da exceção e o estado do programa quando a exceção ocorreu.

Aprenderemos como lidar com essas exceções no próximo tutorial. Neste tutorial, vamos nos concentrar em diferentes tipos de exceções em Java.

Tipos de exceção Java

A hierarquia de exceção também possui duas ramificações: RuntimeExceptione IOException.

1. RuntimeException

Uma exceção de tempo de execução ocorre devido a um erro de programação. Eles também são conhecidos como exceções não verificadas .

Essas exceções não são verificadas em tempo de compilação, mas em tempo de execução. Algumas das exceções de tempo de execução comuns são:

  • Uso impróprio de uma API - IllegalArgumentException
  • Acesso de ponteiro nulo (faltando a inicialização de uma variável) - NullPointerException
  • Acesso à matriz fora dos limites - ArrayIndexOutOfBoundsException
  • Dividindo um número por 0 - ArithmeticException

Você pode pensar sobre isso desta forma. “Se for uma exceção de tempo de execução, a culpa é sua”.

O NullPointerExceptionnão teria ocorrido se você tivesse verificado se a variável foi inicializada ou não antes de usá-la.

Um ArrayIndexOutOfBoundsExceptionnão teria ocorrido se você testou o índice de ordem contra os limites da matriz.

2. IOException

Um IOExceptiontambém é conhecido como exceção verificada . Eles são verificados pelo compilador no momento da compilação e o programador é solicitado a lidar com essas exceções.

Alguns dos exemplos de exceções verificadas são:

  • Tentar abrir um arquivo que não existe resulta em FileNotFoundException
  • Tentando ler além do final de um arquivo

Agora que sabemos sobre exceções, aprenderemos sobre como lidar com exceções no próximo tutorial.

Artigos interessantes...