×

Java try catch

Java try catch

There can be statements that can cause exceptions, and the exception leads to abnormal termination of the program. To avoid that abnormal termination, those statements that look potent to raise an exception should be put in the try block. The catch block executes when an exception is raised in the try block.  By using the Java try-catch block, we can handle the exception. In this topic, we are going to discuss how try-catch block helps to handle exceptions.

Java try-catch syntax

The syntax of the try-catch is as follows:

 try
{
//statements that may cause exceptions
}
catch(ExceptionClass obj)
{
//statements
} 

Significance of Java try-catch block

Let’s try to understand what will happen if one omits the try-catch block with the help of a program.

FileName: TryCatchExample.java

 public class TryCatchExample
{ 
// main method
public static void main(String argvs[])
{
int val = 70 / 0; // statement responsible for exception. Line no 7
// print statement
System.out.println("The division operation has been successfully completed.");
}
} 

Output:

Java try catch

Explanation: Observe that the print statement does not get executed. It is because of the exception raised at line number 7. The exception causes the abnormal termination of the program, and this behavior is not correct. Those statements that are not causing the exception should be executed, and their output should be displayed. To achieve the same, the Java try-catch block is used. Let’s see how to handle the above exception.

FileName: TryCatchExample1.java

 public class TryCatchExample1
{ 
// main method
public static void main(String argvs[])
{
try
{
int val = 70 / 0;
}
catch(ArithmeticException e)
{
System.out.println(e);  
}
// print statement
System.out.println("The division operation has been successfully completed.");
}
} 

Output:

Java try catch

Explanation: Now, we observe that the exception is handled. The print statement that followed the catch block got executed at this time, and the program terminates normally.

Proper Handling of Java try-catch

One should understand that the Java try-catch blocks should be handled with care. Suppose, one is sure that some statements in the code that do not throw exceptions, then such statements should not be put in the try block. Observe the following code.

FileName: TryCatchExample2.java

 public class TryCatchExample2
{ 
// main method
public static void main(String argvs[])
{
try
{
int val = 70 / 0; // line 8
// print statement 1
System.out.println("Hello Java. The language is awesome.");
}
catch(ArithmeticException e)
{
System.out.println(e);  
}
// print statement 2
System.out.println("The division operation has been successfully completed.");
}
} 

Output:

Java try catch

Explanation: Notice the first print statement (at line 10) does not get printed. The reason for the non-execution of the first print statement is line 8. At line 8, the java.lang.ArithmeticeException is raised. Therefore, the control shifts to the catch block. Thus, any statement that is inside the try block and follows line 8 never gets executed. Hence, the first print statement is not get printed on the console. The appropriate way is to put print statement 1 outside the try-catch block. Thus, we can say that only those statements that can raise an exception should be put inside the try block.

Working of the try-catch Block

The following flow diagram demonstrates the working of the try-catch block.

Java try catch

Remember:

  • It is not possible to have multiple try blocks with a single catch block. If we try to do the same, a compile-time error is generated.
  • Each try block must be followed by at least one catch block or finally.
  • There can be multiple catch blocks for one try block. Multiple catch blocks come in very handy to handle each exception in a different way.
  • A catch block may handle multiple type exceptions. Ensure that each type of exception is separated by a vertical bar (|). It reduces code duplication and increases efficiency. For example:
 try
{
// code
}
catch (ExceptionType1 | Exceptiontype2 | Exceptiontype2 ex)
{
// catch block
} 

Even though multiple catch blocks can be present for a single try block, at a time, only one catch block is executed. The ordering of the catch blocks should always be from specific to general, which means the ArithmeticException should always come before the Execption; otherwise, a compilation error is thrown.

FileName: TryCatchExample3.java

 public class TryCatchExample3
{ 
// main method
public static void main(String argvs[])
{
try
{   
int arr[] = new int[6];  // line 9
// arr[6] = 8; // line 10 
arr[6] = 130 / 0; // line 11
}   
// multiple catch blocks for handling different types of exception
catch(ArithmeticException ae) 
{ 
  System.out.println("In the Arithmetic Exception catch block " + ae); 
}   
catch(ArrayIndexOutOfBoundsException aie) 
{ 
  System.out.println("In the ArrayIndexOutOfBounds Exception catch block. " + aie); 
}   
catch(Exception ex) 
{ 
  System.out.println("In the Parent Exception catch block " + ex); 
}     
System.out.println("Code after the try catch block.");   
}
} 

Output:

Java try catch

Explanation: It is obvious by looking at the output that only the catch block of ArithmeticException got exsecuted, and the reason for this is line 11. Line 11 is potent to generate two exceptions one is ArithmeticException (130 / 0), and another is ArrayIndexOutOfBounds (arr[6]) exception. However, the operation 130 / 0 is executed first, and hence, the ArithmeticException is also raised first. In order to raise the ArrayIndexOutOfBounds exception, uncomment line 10.


Related Topics

How to find characters with the maximum number of times in a string java

Problem statement In this problem, users want to find the maximum count of a character from the string and return the character along with its count. Your task is to create...

3 minutes read.

What is String in Java?

What is String in Java? Strings are a collection of characters that are commonly used in Java programming. Strings are regarded as objects in the Java programming language. “String” is a Java...

4 minutes read.

Stack in Java

Java provides a number of collection frameworks to store the collection of objects. Among the collection of data structures " Stack " is one of them. Stack is one of...

5 minutes read.

Java Vs C++

Java Vs C++ Java and C++ both are Object Oriented Programming languages. Both languages are popular for competitive programming. C++ is used by many coders who have just started learning programming...

4 minutes read.

Java BufferedWriter

BufferWriter Class: It is used to write the data more efficiently. This class is present in the java.io package, it inherits the data from the Writer class. Writer class is...

4 minutes read.

Java Characters

Normally, when we work with characters, we use primitive data types char. When we have to work with the objects of char, we use Character class. Character class has many important...

2 minutes read.

Kong Java Client

Kong is an Organization Microservice Programming interface gateway. Kong gives an adaptable deliberation layer that safely oversees correspondence among clients and microservices by means of a Programming interface. Otherwise called...

6 minutes read.

Java Hello World

Let’s start by writing a simple program that prints “Hello World” to the output window. Write the program into any text editor or IDE (Eclipse, Netbeans, etc.) and save the file with the...

2 minutes read.

Java Swings

Swing is a Java Foundation Class library and an extension to the Abstract Window Toolkit (AWT) (JFC).As compared to AWT, Swing has significantly better functionality, new components, increased component features,...

9 minutes read.

String Manipulation in Java

String Manipulation in Java In Java, string manipulation is a common task performed by programmer. Java String class provides many built-in functions that are used to manipulate string. The manipulation of...

4 minutes read.

Java Xmx

This section will explain what Xmx in Java is and how to establish a Java application's maximum heap size. When we execute a Java application, it occasionally displays an error message...

3 minutes read.

Upcasting and Downcasting in Java

Type casting in Java is an important and very interesting topic to deal with. But here upcasting and downcasting is somewhat related to typecasting. In normal typecasting, we convert from...

6 minutes read.

Diamond problem in Java

The Diamond Problem in Java is connected to multiple inheritances. It is also referred to as the "deadly diamond dilemma" or even the "deadly diamond of death”. The solution for...

5 minutes read.

Generics vs Wildcard in Java

In generic programming, the question mark (?) is often referred to as the wildcard. It stands for a mysterious type. The wildcard can be used for many different contexts, such as...

4 minutes read.

Heart Pattern in Java

Heart Pattern is yet another intricate pattern program, however, due to its complexity, interviewers hardly ever inquire about it. Method for Printing the Heart Number Pattern Put the value of the total row...

2 minutes read.

Java Thread Dump Analyzer

Thread: A thread is a PC program that is stacked into the PC's memory and is under execution. It tends to be executed by a processor or a bunch of processors....

15 minutes read.

Java Get Time in UTC

UTC is the abbreviation for Universal Time Coordinated. Before the beginning of UTC, it is mentioned as the Greenwich Mean Time (GMT) but Now it is mentioned as the universal...

4 minutes read.

Java finalize()

Java finalize() In Java, the Object class is the root class that is inherited by all the Java classes. The class provides the finalize() method that is called just before the...

4 minutes read.

Java String subSequence() method

This method returns a new character sequence i.e. subsequence of current sequence Syntax: public CharSequence subSequence(int beginIndex, int endIndex) Parameter: beginIndex ? begin index, inclusive. endIndex ? end index, exclusive. Return: specified subsequnce Throws: It throws IndexOutOfBoundsException...

1 minute read.

How to download and install Eclipse in Windows?

Download and Install Eclipse on Windows Eclipse is an open source IDE (Integrated Development Environment) which is used to help the programmers to provide a platform to write and run the...

1 minute read.