I want to rethrow an exception, is that possible?

Asked by Last Modified  

12 Answers

Learn Java

Follow 1
Answer

Please enter your answer

Professional Tutor with 15 years of experience.

yes we can
Comments

Tutor

yes.We can rethrow an exception.try { // code here that throws an Exception } catch (Throwable t) { throw t; // (re)throw it in their face } Example: //Rethrowing.java // Demonstrating fillInStackTrace() public class Rethrowing { public static void first() throws Exception { System.out.println("originating...
read more
yes.We can rethrow an exception.try { // code here that throws an Exception } catch (Throwable t) { throw t; // (re)throw it in their face } Example: //Rethrowing.java // Demonstrating fillInStackTrace() public class Rethrowing { public static void first() throws Exception { System.out.println("originating the exception in first()"); throw new Exception("thrown from first()"); } public static void getexception() throws Throwable { try { first(); } catch(Exception e) { System.out.println( "Inside getexception (), e.printStackTrace()"); e.printStackTrace(); throw e; // 17 // throw e.fillInStackTrace(); // 18 } } public static void main(String[] args) throws Throwable { try { getexception (); } catch(Exception e) { System.out.println( "Caught in main, e.printStackTrace()"); e.printStackTrace(); } } } ///:~ The important line numbers are marked inside of comments. With line 17 un-commented (as shown), the output is: originating the exception in f() Inside getexception (), e.printStackTrace() java.lang.Exception: thrown from f() at Rethrowing.first(Rethrowing.java:8) at Rethrowing. getexception (Rethrowing.java:12) at Rethrowing.main(Rethrowing.java:24) Caught in main, e.printStackTrace() java.lang.Exception: thrown from f() at Rethrowing.first(Rethrowing.java:8) at Rethrowing. getexception (Rethrowing.java:12) at Rethrowing.main(Rethrowing.java:24) So the exception stack trace always remembers its true point of origin, no matter how many times it gets rethrown. With line 17 commented and line 18 un-commented, fillInStackTrace( ) is used instead, and the result is: originating the exception in f() Inside getexception (), e.printStackTrace() java.lang.Exception: thrown from first() at Rethrowing.first(Rethrowing.java:8) • at Rethrowing. getexception (Rethrowing.java:12) • at Rethrowing.main(Rethrowing.java:24) read less
Comments

A software veteran with more than decade of experience

yes...you can use catch(Exception ex) { {some logic} throw ex; }
Comments

Software Development Trainer

What do you mean by rethrow? Are you trying to ask if one can raise the exception again once it's handled in catch? If yes, then yeah we can. We need to use throw keyword. Something like this try{ //code } catch (exception ex) { //log the exception or do whatever you want. throw...
read more
What do you mean by rethrow? Are you trying to ask if one can raise the exception again once it's handled in catch? If yes, then yeah we can. We need to use throw keyword. Something like this try{ //code } catch (exception ex) { //log the exception or do whatever you want. throw ex;//rethrow exception } read less
Comments

Trainer

If you develop your own library which makes use of a third-party library that throws an exception. Now there are two options for us: 1. don't catch it (not a better option) 2. catch it and log it somewhere, then rethrow it By rethrowing, we propgate this exception to the caller (client) of your...
read more
If you develop your own library which makes use of a third-party library that throws an exception. Now there are two options for us: 1. don't catch it (not a better option) 2. catch it and log it somewhere, then rethrow it By rethrowing, we propgate this exception to the caller (client) of your library and request it to catch the excpetion. This way your delegating the responsibility of handling this excpetion to the caller of our library read less
Comments

Java Web Application Development and Aptitude Trainer

yes you can.
Comments

Java Tutor

yes...you can using catch block with appropriate Exception argument
Comments

Talent with Professional Experience

Yes you can rethrow an exception by throwing an exception inside catch block provided we are able to catch the Exception properly. If we are not sure what kind of Exception is caught; in that case we can catch the super Excepiton class incatch block and then throw any other exception
Comments

Java Technical Leader

try { } catch(Exception ex) { }
Comments

Java Technical Leader

try { // code here } catch(Exception ex) { throw ex; } but this is not advisable hust catch the same exception and re-throw it. If you want to make your application specific message then you can try this.
Comments

View 10 more Answers

Related Questions

public class X { public static void main(String [] args) { X x = new X(); X x2 = m1(x); /* Line 6 */ X x4 = new X(); x2 = x4; /* Line 8 */ doComplexStuff(); } static X m1(X mx) { mx = new X(); return mx; } } After line 8 runs. how many objects are eligible for garbage collection?
Only one. After line 8 the original object referred to by x2 is dereferenced and ready for garbage collection. In m1(), mx ignores the object passed as argument and refers to a new object which is returned.
Srikanth
Why Java is not a Pure Object oriented Programming Language?
Bcoz java does not support - All predefined types are objects All operations performed on objects must be only through methods exposed at the objects.
Amit Kumar
0 0
9
What is the use of package in JAVA?
Have you ever observed why we all are having kitchen / hall / bedroom or any? Have you ever observed why most of the bags contains zips and folders ? Have you ever observed why people create different...
Pushpendra
How can I learn Java from home?
Hi Divya, There are several ways to learn Java from home. 1. You can find trainer on UrbanPro. 2. You can find free resources available online like youtube or javaranch, stackoverflow 3.You can connect...
Divya
0 0
5
what is serialVersionUID , why it different for each bean? serialVersionUID = 42L;
This id is used to identify the type of the class. This is required when you serialize and de serialize the object. If you have given a value to this id, this will be common for all the objects created...
Srilatha N

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

1.3. Find the second largest element in an array.
public class Main { public static void main(String args) { int arr = {1, 3, 4, 6, 5}; int max = Integer.MIN_VALUE, secondMax = Integer.MIN_VALUE; for (int i = 0; i < arr.length; i++) { if (arr >...

JAVA - Object Cloning
JAVA - Object Cloning Is the way of creating the same copy of object without calling the class constructor. It means we can make any class object multiple times without calling its default constructor....

Why we need to learn Programming languages?
Language is medium for communication. If two parties like to communicate or exchange the thoughts they must know a language. Language should be understandable by both the Parties. For example A wants to...

Hibernate 5
The Hibernate team published the first Hibernate 5 release quite a while ago, and since then they introduced a bunch of new features. I explained several of them here on the blog, and it’s about...
M

Mohammed Shahnawaz Akhter

2 0
0

2.1. Reverse a singly linked list.
class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; }} public class LinkedList { Node head; public void reverse() { Node prev = null; Node curr = head; Node next =...

Recommended Articles

Designed in a flexible and user-friendly demeanor, Java is the most commonly used programming language for the creation of web applications and platform. It allows developers to “write once, run anywhere” (WORA). It is general-purpose, a high-level programming language developed by Sun Microsystem. Initially known as an...

Read full article >

Java is the most commonly used popular programming language for the creation of web applications and platform today. Integrated Cloud Applications and Platform Services Oracle says, “Java developers worldwide has over 9 million and runs approximately 3 billion mobile phones”.  Right from its first implication as java 1.0...

Read full article >

Java is the most famous programming language till date. 20 years is a big time for any programming language to survive and gain strength. Java has been proved to be one of the most reliable programming languages for networked computers. source:techcentral.com Java was developed to pertain over the Internet. Over...

Read full article >

In the domain of Information Technology, there is always a lot to learn and implement. However, some technologies have a relatively higher demand than the rest of the others. So here are some popular IT courses for the present and upcoming future: Cloud Computing Cloud Computing is a computing technique which is used...

Read full article >

Looking for Java Training Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you