Boa Noite
Estou com um problema em um método que edita um objeto, meu método recebe o que eu quero editar, nome, idade, cidade, etc e qual o novo valor.
public void editaPessoa(String atributo, String valor) throws ErroException{
try {
switch (atributo.toLowerCase()){
case "nome":
verificaString(valor, "Nome");
setNome(valor);
case "idade":
verificaString(valor, "Idade");
setObjetivo(valor);
case "cidade":
verificaString(valor, "Cidade");
setCidade(valor);
default:
throw new Exception("invalido");
}
} catch (Exception e) {
throw new ErroException(e.getMessage());
}
}
Como podem ver acima o codigo, esse “verificador” é para olhar se a string é nula ou vazia, caso for, lança exceção que é pega com o try catch, assim consigo pegar a mensagem da exceção lançada com o verificador e juntar com a outra que vou lançar com o catch.
O problema é, quando executo o método, ele não entra no Case certo, exemplo: estou tentando editar o nome, mas ele entra em todos os cases basicamente inclusive no default e lança exceção quando não deve ser lançada. Não sei mais o que fazer, horas tentando arrumar isso e não da certo.
Obrigado desde já.