Iniciando uma aula que abordava o assunto de exceções perguntei ao meu professor como criar métodos que ao lançar exceções obrigam o tratamento delas.
Esse exemplo abaixo só lança a exceção, não obriga quem for usa-lo a tratar.
public static void mostrarIdade(int idade) {
if(idade>-1)
System.out.println("Idade é "+idade);
else
throw new IllegalStateException();
}
Então o professor de Java disse que apenas adicionando esta linha ao método: throws IllegalStateException já obrigaria quem for usa-lo a tratar as Exceções.
public static void mostrarIdade(int idade) throws IllegalStateException {
if(idade>-1)
System.out.println("Idade é "+idade);
else
throw new IllegalStateException();
}
Mas ao testar não fez diferença alguma, consegui usar o método sem tratar sua exceção, essa seria realmente a forma correta de lançar exceções obrigatórias?