1. What is unchecked exception in java?
- Unchecked exceptions are not checked at compiled time.
- The unchecked exceptions are not forced by compiler to implement.
- i.e. Its not mandatory to enclose the code with try-catch block.
- Its purely at programmer’s discretion to catch or throws the unchecked exceptions.
- We have already discussed about the checked and unchecked exceptions in java.
2. Examples of unchecked exceptions in java
- ArithmeticException
- NegativeArraySizeException
- NullPointerException
- StringIndexOutOfBoundsException
- NumberFormatException
- StackOverflowError.
3. Program – simulate or generate unchecked exceptions in java (example)
package org.learn; public class UnCheckedExceptionDemo { public static void main(String[] args) { catchArithmeticException(); catchNegativeArraySizeException(); catchNullPointerException(); catchStringIndexOutOfBoundsException(); catchNumberFormatException(); stackOverflowErrorFunction(); } private static void catchArithmeticException() { try { int value = 15 ; int divideByZero = value / 0 ; System.out.println( "Result of division by zero is " + divideByZero); } catch (ArithmeticException arithmeticException) { System.out.println( "1. Exception occurred is:" + arithmeticException.getLocalizedMessage()); } } private static void catchNegativeArraySizeException() { try { int intArray[] = new int [- 5 ]; for ( int index = 0 ; index < intArray.length; index++) { intArray[index] = 0 ; } } catch (NegativeArraySizeException nase) { System.out.println( "2. Exception occured is NegativeArraySizeException" ); } } @SuppressWarnings ( "null" ) private static void catchNullPointerException() { try { Integer integer = null ; int intValue = integer.intValue(); System.out.println( "Parse int result is: " + intValue); } catch (NullPointerException npe) { System.out.println( "3. Exception occurred is NullPointerException" ); } } private static void catchStringIndexOutOfBoundsException() { try { String sport = "Soccer" ; char lastChar = sport.charAt(sport.length()); System.out.println( "Last character of sport is:" + lastChar); } catch (StringIndexOutOfBoundsException siob) { System.out.println( "4. Exception occurred due to " + siob.getLocalizedMessage()); } } private static void catchNumberFormatException() { try { String number = "InvalidNumber" ; long formattedNumber = Long.valueOf(number); System.out.println( "Result of formating string is:" + formattedNumber); } catch (NumberFormatException numForExe) { System.out.println( "5. Exception occurred " + numForExe.getLocalizedMessage()); } } private static void stackOverflowErrorFunction() { stackOverflowErrorFunction(); } } |
Output – simulate or generate unchecked exceptions in java (example)
1. Exception occurred is:/ by zero 2. Exception occured is NegativeArraySizeException 3. Exception occurred is NullPointerException 4. Exception occurred due to String index out of range: 6 5. Exception occurred For input string: "InvalidNumber" Exception in thread "main" java.lang.StackOverflowError at org.learn.UnCheckedExceptionDemo.stackOverflowErrorFunction(UnCheckedExceptionDemo.java:66) at org.learn.UnCheckedExceptionDemo.stackOverflowErrorFunction(UnCheckedExceptionDemo.java:66) at org.learn.UnCheckedExceptionDemo.stackOverflowErrorFunction(UnCheckedExceptionDemo.java:66) at org.learn.UnCheckedExceptionDemo.stackOverflowErrorFunction(UnCheckedExceptionDemo.java:66) .......................... |