Entendi todo o código, só uma dúvida ficou na minha cabeça sobre como funciona aquele construtor na classe InvalidPasswordException
que foi usado a palavra-chave "super
" que é para se referir a classe mãe. Não entendo como o uso do "super
" fez o programa dar certo...
public class InvalidPasswordException extends RuntimeException {
public InvalidPasswordException(String mensagem) {
super(mensagem);
}
}
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
System.out.println("Digite sua senha: ");
String senha = leitura.nextLine();
try {
validarSenha(senha);
System.out.println("Senha válida. Acesso Permitido");
} catch (InvalidPasswordException e) {
System.out.println("Erro: " + e.getMessage());
}
}
private static void validarSenha(String senha) {
if (senha.length() < 8) {
throw new InvalidPasswordException("A senha deve ter mais do que 8 caracateres");
}
}
}