Java.lang.Throwable.setStackTrace() Method



Description

The java.lang.Throwable.setStackTrace() method sets the stack trace elements that will be returned by getStackTrace() and printed by printStackTrace() and related methods.

Declaration

Following is the declaration for java.lang.Throwable.setStackTrace() method

public void setStackTrace(StackTraceElement[] stackTrace)

Parameters

stackTrace − This is the stack trace elements to be associated with this Throwable.

Return Value

This method does not return any value.

Exception

NullPointerException − if stackTrace is null, or if any of the elements of stackTrace are null

Example

The following example shows the usage of java.lang.Throwable.setStackTrace() method.

package com.tutorialspoint;

import java.lang.*;

public class ThrowableDemo {

   public static void main(String[] args) {

      try {
         ExceptionFunc();
      } catch(Throwable e) {
         // access to the stack trace
         StackTraceElement[] trace = e.getStackTrace();
         System.err.println(trace[0].toString());
      }
   }
  
   public static void ExceptionFunc()throws Throwable {

      Throwable t = new Throwable("This is new Exception...");
      StackTraceElement[] trace = new StackTraceElement[] {
         new StackTraceElement("ClassName","methodName","fileName",10)
      };

      // sets the stack trace elements
      t.setStackTrace(trace);
      throw t;
   }
}

Let us compile and run the above program, this will produce the following result −

ClassName.methodName(fileName:10)
java_lang_throwable.htm
Advertisements