Please disable adblock to view this page.

← Go home

Try and Catch in Java

java-display

May 1, 2017
Published By : Pratik Kataria
Categorised in:

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 a budding programmer, web designer and developer.