Olá, estou começando a programar um jogo de Pokemon (heheheheh) em java, bem básico, e me surgiu a seguinte dúvida:
Tenho um método que seta os atributos dos pokemons:
public void setField(int val, String fld){
String str = new String();
str = fld.toUpperCase();
if(val<0){
val = 0;
}
if(val>100){
val = 100;
}
if( str.equals("ATTACK") ){
this.attack = val;
}
else if( str.equals("DEFENSE") ){
this.defense = val;
}
else if( str.equals("SPECIAL ATTACK") ){
this.sp_attack = val;
}
else if( str.equals("SPECIAL DEFENSE") ){
this.sp_defense = val;
}
}
Onde val é o valor que quero setar no atributo fld. Lembrando que attack, defense, sp_attack e sp_defense são atributos da classe pokemon.
Se o programador chamar setField(10, “attack”); ele estará setando 10 para o atributo attack.
Minha dúvida é: existe alguma exceção ou algum outro jeito de tratar um possível erro se o programador chamar o método com um fld que não existe, por exemplo, setField(10,“hello”); ?