Both languages use try, catch and throw keywords for exception handling, and meaning of try, catch and free blocks is also same in both languages. Following are the differences between Java and C++ exception handling.
1) In C++, all types (including primitive and pointer) can be thrown as exception. But in Java only throwable objects (Throwable objects are instances of any subclass of the Throwable class) can be thrown as exception. For example, following type of code works in C++, but similar code doesn’t work in Java.
Exception occurred: thrown value is -1
2) In C++, there is a special catch called “catch all” that can catch all kind of exceptions.
Exception occurred: exiting
In Java, for all practical purposes, we can catch Exception object to catch all kind of exceptions. Because, normally we do not catch Throwable(s) other than Exception(s) (which are Errors)
3) In Java, there is a block called finally that is always executed after the try-catch block. This block can be used to do cleanup work. There is no such block in C++.
Got the Test Exception Inside finally block
4) In C++, all exceptions are unchecked. In Java, there are two types of exceptions – checked and unchecked. See this for more details on checked vs Unchecked exceptions.
5) In Java, a new keyword throws is used to list exceptions that can be thrown by a function. In C++, there is no throws keyword, the same keyword throw is used for this purpose also.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Nested try blocks in Exception Handling in Java
- Output of Java program | Set 12(Exception Handling)
- Exception Handling with Method Overriding in Java
- Version Enhancements in Exception Handling introduced in Java SE 7
- Exception Handling in C++
- Exception handling in JSP
- Handling the Divide by Zero Exception in C++
- Exception handling and object destruction | Set 1
- Exception Propagation in Java
- Comparison of Inheritance in C++ and Java
- Java 11 - Features and Comparison
- Understanding OutOfMemoryError Exception in Java
- Types of Exception in Java with Examples
- Null Pointer Exception In Java
- Infinity or Exception in Java when divide by 0?
- Comparison of Java with other programming languages
- Comparison of static keyword in C++ and Java
- Understanding Array IndexOutofbounds Exception in Java
- 3 Different ways to print Exception messages in Java
- User-defined Custom Exception in Java
Improved By : aanuj0110