Criando Exceções Personalizadas
Deslize para mostrar o menu
À medida que você desenvolve aplicações Java mais complexas, pode se deparar com situações de erro que são exclusivas da lógica do seu programa. Embora o Java forneça muitas exceções integradas, às vezes nenhuma delas descreve claramente o problema específico que você deseja relatar. Nesses casos, é possível criar suas próprias exceções personalizadas. Exceções personalizadas permitem atribuir nomes significativos às condições de erro, tornando o código mais fácil de entender, manter e depurar. Ao definir exceções adaptadas às necessidades da sua aplicação, você auxilia outros desenvolvedores (e a si mesmo no futuro) a identificar e tratar rapidamente cenários de erro específicos.
Para criar uma exceção personalizada, defina uma nova classe que estenda a classe Exception ou a classe RuntimeException. Se sua exceção deve ser verificada (ou seja, o compilador exige que você a trate com um bloco try-catch ou a declare com throws), estenda Exception. Se ela deve ser não verificada (não exigida pelo compilador), estenda RuntimeException. Sua exceção personalizada pode incluir construtores, campos e métodos como qualquer outra classe, mas é comum fornecer pelo menos um construtor que aceite uma mensagem descrevendo o erro.
Main.java
123456789101112131415161718192021222324package com.example; class InvalidAgeException extends Exception { public InvalidAgeException(String message) { super(message); } } public class Main { public static void checkAge(int age) throws InvalidAgeException { if (age < 18) { throw new InvalidAgeException("Age must be at least 18."); } System.out.println("Access granted. Age is valid."); } public static void main(String[] args) { try { checkAge(15); } catch (InvalidAgeException e) { System.out.println("Caught exception: " + e.getMessage()); } } }
No código acima, você define uma exceção verificada personalizada criando a classe InvalidAgeException, que estende Exception. Esta classe possui um construtor que aceita uma mensagem de erro. O método checkAge lança uma InvalidAgeException se a idade fornecida for menor que 18.
No método main, você chama checkAge(15), o que aciona a exceção. O bloco try-catch captura a exceção e imprime sua mensagem. Esse padrão demonstra como utilizar exceções personalizadas para lidar com condições de erro específicas de forma clara e organizada.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo