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"); } }