Exceções
As exceções em Java são eventos que interrompem o fluxo normal de execução do programa devido a condições inesperadas ou erros durante a execução. Elas oferecem uma maneira estruturada de lidar com erros, permitindo que você crie código robusto e seguro. Neste artigo, vamos explorar as exceções em Java, entender como elas funcionam e examinar exemplos práticos para ilustrar esses conceitos.
O Que São Exceções em Java?
Uma exceção em Java é um objeto que representa uma situação excepcional durante a execução do programa. Elas podem ocorrer por diversas razões, como divisão por zero, acesso a um índice inválido de um array ou falha ao abrir um arquivo. Quando uma exceção é lançada, o programa procura por um bloco de código chamado tratamento de exceção que pode lidar com essa exceção. Se nenhum tratamento for encontrado, o programa será encerrado abruptamente e uma mensagem de erro será exibida.
Tipos de Exceções em Java
Em Java, as exceções são divididas em duas categorias principais:
Exceções Verificadas (Checked Exceptions): São exceções que o compilador obriga você a tratar, seja através de uma cláusula
try-catch
ou declarando que o método lança a exceção usando a palavra-chavethrows
. Exemplos incluemIOException
eSQLException
.Exceções Não Verificadas (Unchecked Exceptions): São exceções que o compilador não exige que você trate. Geralmente são subclasses de
RuntimeException
e suas subclasses. Exemplos incluemNullPointerException
eArrayIndexOutOfBoundsException
.
Sintaxe de Tratamento de Exceções
Bloco Try-Catch
try {
// Código que pode lançar uma exceção
} catch (TipoDeExcecao e) {
// Código para lidar com a exceção
} finally {
// Código a ser executado sempre, independentemente de ocorrer uma exceção ou não
}
Lançando Exceções
public void metodo() throws TipoDeExcecao {
// Código
if (condicaoDeErro) {
throw new TipoDeExcecao("Mensagem de Erro");
}
// Mais código
}
Exemplo Prático de Tratamento de Exceções
Vamos considerar um exemplo onde tentamos dividir dois números. Se o divisor for zero, uma exceção será lançada.
public class ExcecoesEmJava {
public static void main(String[] args) {
int numerador = 10;
int divisor = 0;
try {
int resultado = numerador / divisor;
System.out.println("Resultado da divisão: " + resultado);
} catch (ArithmeticException e) {
System.out.println("Erro: Divisão por zero não permitida.");
}
}
}
Neste exemplo, o programa tenta dividir numerador
por divisor
. Como divisor
é zero, uma exceção do tipo ArithmeticException
é lançada. O bloco catch
captura essa exceção e imprime uma mensagem de erro.
O tratamento de exceções em Java é uma prática essencial para criar programas robustos e confiáveis. Ao compreender as diferentes tipos de exceções, como lançá-las e como usar os blocos try
, catch
e finally
, você pode desenvolver código que lida eficazmente com situações inesperadas.