Sto cercando di capire perché devo l'eccezione throw
nel metodo principale mentre ho i blocchi try
/catch
che possono comunque gestire tali eccezioni? Anche se si elimina la parte throws IllegalArgumentException,InputMismatchException
, il programma verrà comunque compilato e funzionerà perfettamente.Eccezione di lancio nel metodo principale
public static void main(String[] args) throws IllegalArgumentException,InputMismatchException{
boolean flag = true;
Scanner in = new Scanner(System.in);
do{
try{
System.out.println("Please enter the number:");
int n = in.nextInt();
int sum = range(n);
System.out.println("sum = " + sum);
flag = false;
}
catch(IllegalArgumentException e){
System.out.println(e.getMessage());
}
catch(InputMismatchException e){
System.out.println("The number has to be as integer...");
in.nextLine();
}
Sei al mare e una persona sta affogando. L'eccezione è il tuo amico che dice 'Oh amico, guarda laggiù! Sta annegando! Dovremmo fare qualcosa? ". Nel tuo clausole 'catch' puoi definire il metodo' saveTheMan() 'A proposito, se c'è già un bagnino nei metodi che stai cercando di eseguire tra il costrutto' try', lì non è davvero necessario inserire il 'catch' clausole poiché il tuo aiuto sarà inutile. – Rob013