Java Language Prova ... Catch ... Finalmente

Esempio

La struttura di controllo try { ... } catch ( ... ) { ... } viene utilizzata per la gestione delle eccezioni .

String age_input = "abc";
try {
    int age = Integer.parseInt(age_input);
    if (age >= 18) {
        System.out.println("You can vote!");
    } else {
        System.out.println("Sorry, you can't vote yet.");
    }
} catch (NumberFormatException ex) {
    System.err.println("Invalid input.  '" + age_input + "' is not a valid integer.");
}

Questo stamperebbe:

Inserimento non valido. 'abc' non è un numero intero valido.

Una finally clausola può essere aggiunto dopo la catch . La clausola finally sarebbe sempre stata eseguita, indipendentemente dal fatto che fosse stata lanciata un'eccezione.

try { ... } catch ( ... ) { ... } finally { ... }

String age_input = "abc";
try {
    int age = Integer.parseInt(age_input);
    if (age >= 18) {
        System.out.println("You can vote!");
    } else {
        System.out.println("Sorry, you can't vote yet.");
    }
} catch (NumberFormatException ex) {
    System.err.println("Invalid input.  '" + age_input + "' is not a valid integer.");
} finally {
    System.out.println("This code will always be run, even if an exception is thrown");
}

Questo stamperebbe:

Inserimento non valido. 'abc' non è un numero intero valido.
Questo codice verrà sempre eseguito, anche se viene generata un'eccezione