Exercicio Certificação, qual fragmento apropriado?

public void setFrequency(int frequency){
      //codigo aqui
      this.frequency = frequency;
}

qual fragmento de código apropriado? apenas uma opção

A- assert((0<frequency)&&(frequency<=60));

B- assert((0<frequency)&&(frequency<=60)):“Frequency out of range”;

C- if(frequency<=0 || frequency > 60)
throw new IllegalArgumentException(“Frequency out of range”);

D- if(frequency <= 0 || frequency > 60)
throw new Exception(“Frequence out of range”);

E- None of tjhese.

xiii fiquei em duvida… alguem arriscaria???.. =]

Se eu não estou enganado é C.

abçs

É a letra C.

A e B são inapropriadas porque é inapropriado usar asserts para validar parâmetros de métodos públicos.
D gera um erro de compilação porque Exception é uma exceção verificada e por isso deveria haver uma cláusula throws no método.
C é correta porque valida os parâmetros corretamente e lança uma IllegalArgumentException que serve exatamente para casos como este.
E é incorreta porque a C é correta.

[quote=victorwss]É a letra C.

A e B são inapropriadas porque é inapropriado usar asserts para validar parâmetros de métodos públicos.
D gera um erro de compilação porque Exception é uma exceção verificada e por isso deveria haver uma cláusula throws no método.
C é correta porque valida os parâmetros corretamente e lança uma IllegalArgumentException que serve exatamente para casos como este.
E é incorreta porque a C é correta.[/quote]

boa… valeww…