Il peut être utile d'avoir ses propres classes pour des exceptions.
public class Vacances extends Exception {
public Vacances(){super("En vacances");}
public Vacances(String st){super(st);}
}
Une utilisation possible :
import java.util.*;
public class Agenda {
Calendar calendrier;
public Agenda(){
calendrier = new GregorianCalendar();
}
public void planning (int nbJours) {
for (int i=0; i < nbJours; i++){
try {
afficher();
}
catch(Vacances v){
System.out.println(v.getMessage());
}
calendrier.roll(Calendar.DATE, true);
}
}
public void afficher () throws Vacances {
if (calendrier.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY)
throw new Vacances("Jamais le dimanche");
if (calendrier.get(Calendar.DAY_OF_MONTH)==1)
throw new Vacances("Jamais le premier jour du mois");
System.out.println(calendrier.getTime());
for (int h=8; h < 17; h++){
System.out.println(h + " heures :");
}
}
public static void main(String args[]){
Agenda ag = new Agenda();
System.out.println("Debut");
ag.planning(Integer.parseInt(args[0]));
System.out.println("Fin");
}
}