Es un poco rara tu clase, puesto que recibe una estación y se la asigna a todo el array.
De hecho, no hay ningún constructor que haga al array...
Pero vamos, como sólo preguntas por el tema de las excepciones...
Cita:
Iniciado por m16u3l Código PHP:
public class Tiempo{
String Epocas[];
int i;
public String getepocas(){
return epocas[i];
}
public void setepocas(String tiempo) throws Exception{
epocas=new String[3];
if (!"invierno".equals(tiempo) && !"primavera".equals(tiempo) && !"otoño".equals(tiempo) && !"verano".equals(tiempo) {
throw new Exception("No es una estación válida");
} else {
for( i = 0; i <= epocas.length; i++) {
epocas[i] = tiempo;
}
}
}
Con esto cuando llames al método setEpocas, tendrás que capturar la excepcion que lanza:
Código PHP:
try {
objeto.setEpoca("prueba");
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
He usado Exception, pero lo suyo sería crear una clase que heredara de Exception: TiempoException, por ejemplo.
Otra solución sería controlar la excepción dentro de tu método setEpoca, pero no es recomendable, puesto que tendrías que especificar de otra forma que el método ha fallado... así, lo mejor es elevar una exceptión, y que el código superior se las apañe... :)