Use the
fillInStackTrace()
method to rethrow a Throwable type of exceptional condition in your code. This is useful if you want to rethrow a exception occurred while using a method or creating a Object but want to avoid the stack trace from these calls.
The intention is to show the stack trace starting from this method or error condition. This a similar to creating a new Object of type Throwable and throwing it as the exception; this happens when the call to
fillInstackTrace
method is made; it returns a new Object of type Throwable filled with the execution stack trace.
Example code:
import java.io.IOException;
public class testExceptions
{
Example of fillInStackTrace
void method1() throws Throwable
{
throw new Throwable("Throwable Exception in method1");
}
void method2() throws Throwable
{
throw new IOException("Exception in method2");
try
{
method1();
}
catch(Throwable th)
{
throw th;
throw th.fillInStackTrace();
similar to throw new Throwable();
}
}
Example of fillInStackTrace
public static void main(String args[]) throws Throwable
{
new testExceptions().method2();
}
}