Desafio 2. Crie um programa que lê uma senha do usuário. Utilize o bloco try/catch para capturar a exceção SenhaInvalidaException, uma classe de exceção personalizada que deve ser lançada caso a senha não atenda a critérios específicos (por exemplo, ter pelo menos 8 caracteres).
public class ErrorMessage extends Exception{
private String usuario;
private String senha;
private String errorMessage;
public ErrorMessage() {
}
public ErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
@Override
public String getMessage() {
return "A senha esta incorreta! A senha deve conter no minimo 8 caracteres!";
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
import java.util.Scanner;
public class Cadastro extends ErrorMessage {
Scanner sc = new Scanner(System.in);
public void entrarDados() {
try {
System.out.println("Insira seu usuário: ");
this.setUsuario(sc.nextLine());
System.out.println("Insira sua senha: ");
this.setSenha(sc.nextLine());
if (this.getSenha().length() < 8) {
throw new ErrorMessage("A senha esta incorreta! A senha deve conter no minimo 8 caracteres!");
}
System.out.println("Senha correta! Redirecionando para a página principal!");
} catch (ErrorMessage e) {
System.out.println(e.getMessage());
} finally {
sc.close();
}
}
}
public class Principal {
public static void main(String[] args) {
Cadastro cadastro = new Cadastro();
cadastro.entrarDados();
}
}
Execução OK:
Mensagem de erro: