Criei um exemplo para saber se entendi bem. Códigos:
package idades;
public class Idades {
public static void main(String[] args) throws Exception {
int primeiraIdade = 34;
int segundaIdade = 30;
System.out.println("Digite uma idade maior que " + primeiraIdade + " anos de idade");
if (segundaIdade < primeiraIdade) {
throw new Exception("Erro! " + segundaIdade + " é menor que " + primeiraIdade);
} else {
System.out.println("Correto! " + segundaIdade + " é menor que " + primeiraIdade);
}
}
}
package idades;
public class IdadeMenorException extends Exception{
public IdadeMenorException(String erro) {
super(erro);
}
}
Com essa classe da exceção, eu posso criar mensagens personalizadas de erro e isso possibilita uma melhor leitura de códigos, além do código não travar totalmente por causa da exceção, correto? E eu coloque minha exceção para herdar da mãe de todas as exceções, no caso a "Exception".