- try
- catch
- finally
First example demonstrate what will happen when we don't use exception handling.
public class Main { public static void main(String[] args) { int a = 10; int b = 0; float result; result = a / b; System.out.println("Program end"); } }
Output:
Exception in thread "main" java.lang.ArithmeticException: / by zero at test.Main.main(Main.java:45)
Program fails.
Second example demonstrate program with exception handling.
public class Main { public static void main(String[] args) { int a = 10; int b = 0; float result; try { result = a / b; System.out.println(result); } catch (ArithmeticException e) { System.out.println("Exception catched:"); e.printStackTrace(); } finally { System.out.println("Block finally"); } System.out.println("Program end"); } }
Output:
Exception catched: java.lang.ArithmeticException: / by zero at test.Main.main(Main.java:48) Block finally Program end
Exception catched.
Program didn't fails and run to the end.
TIP: Sequence of block is important!
// That code will couse error - code will not compile try { } catch (Exception e) { } catch (ArithmeticException e) { }
Output:
Unresolved compilation problems: Unreachable catch block for ArithmeticException. It is already handled by the catch block for Exception
TIP: Block finally is optional. Never mind whether Exception will occur (will be catched) or not. Block finally will execute everytime.
No comments:
Post a Comment