Lançar exceções com throw em Java 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.
Posts recentes
Sintaxe do throw
A sintaxe básica do throw é simples e segue esta estrutura:
throw new TipoDaExcecao("Mensagem de erro opcional");
Exemplo de Exceções com throw em Java
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
verificarNumeroPositivoverifica se o número passado como argumento é negativo. Se for, umaIllegalArgumentExceptioné lançada com uma mensagem personalizada. - Capturando a Exceção: No
main, o métodoverificarNumeroPositivoé chamado dentro de um blocotry-catch. Quando a exceção é lançada, ela é capturada pelocatch, 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
IdadeInvalidaExceptionherda deException, e é usada para representar uma condição específica: idade insuficiente. - Lançando a Exceção Personalizada: O método
verificarIdadelança aIdadeInvalidaExceptionse 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.
