Java Throwable fillInStackTrace()方法与示例

抛出类fillInStackTrace()方法

  • fillInStackTrace()方法在java.lang包中可用。

  • fillInStackTrace()方法用于填充执行堆栈跟踪,此方法在该对象中记录该线程的堆栈帧的当前状态。

  • fillInStackTrace()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 在记录该线程的堆栈帧的当前状态时,fillInStackTrace()方法不会引发异常。

语法:

    public Throwable fillInStackTrace();

参数:

  • 它不接受任何参数。

返回值:

方法的返回类型为Throwable,它返回对此Throwable对象的引用。

示例

//Java程序演示示例 
//ThrowablefillInStackTrace()方法的介绍 

public class FillInStackTrace {
    public static void main(String args[]) throws Throwable {
        //创建类的对象
        FillInStackTrace st_tr = new FillInStackTrace();

        try {
            //执行时会抛出异常
            //除法运算
            st_tr.divM();
        } catch (Exception ex) {
            //通过使用fillInStackTrace()方法是
            //详细打印异常信息
            ex.fillInStackTrace();
            ex.printStackTrace();
        }

    }
    //方法调用
    public void divM() throws Throwable {        div();
    }

    //此方法将引发异常
    //当数字除以0-
    void div() {
        try {
            System.out.println(100 / 0);
        } catch (ArithmeticException ex) {
            throw ex;
        }
    }
}

输出结果

java.lang.ArithmeticException: / by zero
	at FillInStackTrace.main(FillInStackTrace.java:16)