Throwable
and its subtypes can be sent up the stack with the throw
keyword and caught with try…catch
statements.
void someMethod() throws SomeException { } //method declaration, forces method callers to catch if SomeException is a checked exception type
try {
someMethod(); //code that might throw an exception
}
catch (SomeException e) {
System.out.println("SomeException was thrown!"); //code that will run if certain exception (SomeException) is thrown
}
finally {
//code that will always run, whether try block finishes or not
}