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 that 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 form this method or error condition. This a similar to creating a new Object of type Throwable and throwing it as the exception. This happens because 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 tothrow new Throwable(); } } //Example of fillInStackTrace public static void main(String args[]) throws Throwable { new testExceptions().method2(); } }