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, 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
IdadeInvalidaException
herda deException
, e é usada para representar uma condição específica: idade insuficiente. - Lançando a Exceção Personalizada: O método
verificarIdade
lança aIdadeInvalidaException
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.
Deixe um comentário