Add Exception Handling To Existing App
Now it's time for you to freestyle for a bit. We want you to add Exception handling to one of your existing applications.
- Catch some exceptions other than the more general Exception
- Include an example of using more than one catch clause in at least one of your examples
- Use a finally clause in one of your examples
If you don't know the exception type then use the more general exception class, Exception. Remember if you create multiple catch clauses then you must organize them from most specific to least specific. So the more general Exception class should be the last one caught.
Here are some exceptions you can catch. You can also search the online Oracle documentation.
Exception | Description |
---|---|
ArithmeticException | Arithmetic error, such as divide-by-zero. |
ArrayIndexOutOfBoundsException | Array index is out-of-bounds. |
ArrayStoreException | Assignment to an array element of an incompatible type. |
ClassCastException | Invalid cast. |
IllegalArgumentException | Illegal argument used to invoke a method. |
IllegalMonitorStateException | Illegal monitor operation, such as waiting on an unlocked thread. |
IllegalStateException | Environment or application is in incorrect state. |
IllegalThreadStateException | Requested operation not compatible with current thread state. |
IndexOutOfBoundsException | Some type of index is out-of-bounds. |
NegativeArraySizeException | Array created with a negative size. |
NullPointerException | Invalid use of a null reference. |
NumberFormatException | Invalid conversion of a string to a numeric format. |
SecurityException | Attempt to violate security. |
StringIndexOutOfBounds | Attempt to index outside the bounds of a string. |
UnsupportedOperationException | An unsupported operation was encountered. |
ClassNotFoundException | Class not found. |
CloneNotSupportedException | Attempt to clone an object that does not implement the Cloneable interface. |
IllegalAccessException | Access to a class is denied. |
InstantiationException | Attempt to create an object of an abstract class or interface. |
InterruptedException | One thread has been interrupted by another thread. |
NoSuchFieldException | A requested field does not exist. |
NoSuchMethodException | A requested method does not exist. |