Per me, questi codiceutilizzando parole chiave getta per dichiarare lancio di eccezioni di runtime
static int faktorial (int n) throws ArithmeticException {
if ((n < 0) || (n > 31)) {
throw new ArithmeticException();
}
if (n > 1) {
return n * faktorial(n - 1);
}
else {
return 1;
}
}
e lo stesso codice senza
throws ArithmeticException
fare lo stesso, quando lo uso con il seguente codice:
public static void main(String[] args) {
try {
int n;
Scanner sc = new Scanner(System.in);
System.out.print("Insert integer number: ");
n = sc.nextInt();
System.out.println(n + "! = " + faktorial(n));
}
catch (InputMismatchException e) {
System.out.println("Not an integer number!");
e. printStackTrace();
}
catch (RuntimeException e) {
System.out.println("Number is too big!");
e. printStackTrace();
}
}
qualcuno potrebbe descrivere se l'uso di
throws ArithmeticException
ha alcuni vantaggi nel mio codice.
Apprezzerò anche qualche buon esempio di utilizzo della parola chiave throws
. Grazie mille!
ha i suoi aspetti positivi, quindi non si può certo dire che sia ridondante – dantuch
Grazie mille! – mcihak
@Keppil Fa ** non ** costringervi a prenderlo. – dantuch