//******************************************************************** // CreatingExceptions_2.java // // Mostra la possibilità di definire eccezzione controllata // attraverso l'ereditarietà. //******************************************************************** import prog.io.ConsoleInputManager; import prog.io.ConsoleOutputManager; public class CreatingExceptions_2 { //----------------------------------------------------------------- // Crea un oggetto eccezione e eventualmente lo solleva. //----------------------------------------------------------------- public static void main (String[] args) throws EccezioneFuoriIntervallo { ConsoleInputManager in =new ConsoleInputManager(); ConsoleOutputManager out=new ConsoleOutputManager(); final int MIN = 25, MAX = 40, FINE = 99; EccezioneFuoriIntervallo ecc_min = new EccezioneFuoriIntervallo ("valore troppo piccolo."); EccezioneFuoriIntervallo ecc_max = new EccezioneFuoriIntervallo ("valore troppo grande."); out.print ("Immettere un valore intero tra " + MIN + " e " + MAX + " inclusi. (" + FINE + " per uscire) "); int value = in.readInt(); while (value != FINE) { try { // Determina se si deve sollevare l'eccezione if (value < MIN) throw ecc_min; else if (value > MAX) throw ecc_max; out.println ("valore corretto"); // può non essere raggiunto } catch (EccezioneFuoriIntervallo e) { out.println( e.toString()); } out.print ("Immettere un valore intero tra " + MIN + " e " + MAX + " inclusi. (" + FINE + " per uscire) "); value = in.readInt(); } } }