Try and Catch in Java

May 1, 2017
Categorised in: Java Core
Exception
When your code can throw an exception (error on run time), you can wrap that code in try and catch block.
Example: ArrayIndexOutOfBoundsException
Code
public class TryAndCatch { public static void main( String[] args ){ String str = "Hello"; char[] charArr = str.toCharArray(); try { char lastChar = charArr[charArr.length]; System.out.println(lastChar); } catch(ArrayIndexOutOfBoundsException e) { e.printStackTrace(); //System.out.println("Index number out of scope"); } } }
Output
java.lang.ArrayIndexOutOfBoundsException: 5
at TryAndCatch.main(TryAndCatch.java:8)
Multiple Catch Blocks
public class TryAndCatch { public static void main( String[] args ){ String str = "Hello"; char[] charArr = str.toCharArray(); try { char lastChar = charArr[charArr.length - 1]; System.out.println(lastChar); String subStr = str.substring(8); } catch(ArrayIndexOutOfBoundsException e) { e.printStackTrace(); //System.out.println("Index number out of scope"); } catch(StringIndexOutOfBoundsException e) { System.out.println("String index out of bound!"); } } }
Output
String index out of bound!
Custom Exception
public class TryAndCatch { public static void main( String[] args ){ String str = "Hello"; char[] charArr = str.toCharArray(); try { if (charArr.length < 10) { throw (new Exception("My custom exception")); //this will look for catch block } char lastChar = charArr[charArr.length - 1]; System.out.println(lastChar); String subStr = str.substring(8); } catch(ArrayIndexOutOfBoundsException e) { e.printStackTrace(); //System.out.println("Index number out of scope"); } catch(StringIndexOutOfBoundsException e) { System.out.println("String index out of bound!"); } catch(Exception e) { System.out.println(e.getMessage()); } } }
Output
My custom exception
Notes
- A try block must be followed by at least 1 catch block.
- e is just a name given to exception and it can be reused.
- If your code generates an exception then it will stop to that point itself and not execute further. So, even if you have 2 exceptions, only first will be displayed.
Pratik Kataria is currently learning Springboot and Hibernate.
Technologies known and worked on: C/C++, Java, Python, JavaScript, HTML, CSS, WordPress, Angular, Ionic, MongoDB, SQL and Android.
Softwares known and worked on: Adobe Photoshop, Adobe Illustrator and Adobe After Effects.