重写fillInStackTrace()的正确方法是什么?

时间:2018-10-29 21:51:41

标签: java inheritance exception override

我想重写fillInStackTrace作为性能改进,因为我不需要Exception的堆栈跟踪。正确的方法是什么?

第一个方法在构造函数中调用super(),第二个则不。这有什么不同吗?

如果我在构造函数中调用super(),将调用覆盖的fillInStackTrace,还是将调用超类中的fillInStackTrace? 到

我相信这两种方法都是正确的(在这种情况下,最好调用super)。

方法1

public class MyException extends Exception {
    public MyException() {
        super();
    }

    @Override
    public Throwable fillInStackTrace() {
        return this;
    }
}

方法2

public class MyException extends Exception {
    public MyException() {}

    @Override
    public Throwable fillInStackTrace() {
        return this;
    }
}

0 个答案:

没有答案