Try ... Catch ... Finally

suggest change

The try { ... } catch ( ... ) { ... } control structure is used for handling Exceptions.

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

This would print:

Invalid input. ‘abc’ is not a valid integer.

A finally clause can be added after the catch. The finally clause would always be executed, regardless of whether an exception was thrown.

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

This would print:

Invalid input. ‘abc’ is not a valid integer.

This code will always be run, even if an exception is thrown

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Basic Control structures:
* Break
* Try ... Catch ... Finally

Table Of Contents
8 Arrays
10 Maps
11 Strings
15 Basic Control structures
25 JAXB
29 Enums
32 Audio
41 Scanner
63 Logging
75 Lists
78 Sets
89 JAX-WS
96 XJC
98 Process
106 Modules
114 Applets
122 JNDI
139 JavaBean
141 Literals
144 Packages
150 JMX
153 JShell
159 Sockets
167 Enum Map
175 Hashtable
177 SortedMap