Lançando Exceções com throw em Java

Em Java, a palavra-chave throw permite que você lance manualmente uma exceção em situações específicas onde uma condição de erro é detectada. Ao usar throw, o programador tem o controle sobre quando e onde uma exceção será lançada, o que ajuda a tornar o código mais robusto e adaptado a situações que requerem tratamento personalizado.


Sintaxe do throw

A sintaxe básica do throw é simples e segue esta estrutura:

throw new TipoDaExcecao("Mensagem de erro opcional");

Exemplo de Uso do throw

Um exemplo comum de uso do throw é para validar a entrada do usuário. Suponha que estamos desenvolvendo um programa que deve aceitar apenas números positivos como entrada. Caso o usuário forneça um número negativo, podemos lançar uma exceção com throw para sinalizar o erro.

public class ExemploThrow {
    public static void verificarNumeroPositivo(int numero) {
        if (numero < 0) {
            throw new IllegalArgumentException("O número deve ser positivo.");
        }
        System.out.println("Número válido: " + numero);
    }

    public static void main(String[] args) {
        try {
            verificarNumeroPositivo(-10);
        } catch (IllegalArgumentException e) {
            System.out.println("Exceção capturada: " + e.getMessage());
        }
    }
}

Explicação do Exemplo

  • Lançando a Exceção: O método verificarNumeroPositivo verifica se o número passado como argumento é negativo. Se for, uma IllegalArgumentException é lançada com uma mensagem personalizada.
  • Capturando a Exceção: No main, o método verificarNumeroPositivo é chamado dentro de um bloco try-catch. Quando a exceção é lançada, ela é capturada pelo catch, que então exibe a mensagem de erro.

Lançando Exceções Personalizadas

Além de lançar exceções padrão, é possível criar suas próprias exceções personalizadas para representar erros específicos do seu domínio de aplicação. Para isso, basta criar uma classe que herda de Exception ou RuntimeException.

class IdadeInvalidaException extends Exception {
    public IdadeInvalidaException(String mensagem) {
        super(mensagem);
    }
}

public class ExemploExcecaoPersonalizada {
    public static void verificarIdade(int idade) throws IdadeInvalidaException {
        if (idade < 18) {
            throw new IdadeInvalidaException("Idade mínima de 18 anos é necessária.");
        }
        System.out.println("Idade válida: " + idade);
    }

    public static void main(String[] args) {
        try {
            verificarIdade(16);
        } catch (IdadeInvalidaException e) {
            System.out.println("Exceção personalizada capturada: " + e.getMessage());
        }
    }
}

Explicação do Exemplo de Exceção Personalizada

  • Definindo a Exceção: A classe IdadeInvalidaException herda de Exception, e é usada para representar uma condição específica: idade insuficiente.
  • Lançando a Exceção Personalizada: O método verificarIdade lança a IdadeInvalidaException se a idade passada for menor que 18.

Conclusão

Usar o throw permite que o código trate erros de maneira mais específica e informativa, lançando exceções personalizadas ou padrão conforme necessário. Este recurso é essencial para garantir que o programa lide adequadamente com condições inesperadas e forneça mensagens de erro que ajudem o usuário ou o desenvolvedor a identificar e corrigir o problema.


Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *