如何获取异常源对象

时间:2011-05-29 09:43:05

标签: java exception exception-handling

我正在研究Java中的一个分配,我想知道是否有可能知道哪个对象引发了异常。

我知道如果你制作了自定义异常,你可以修改构造函数并引用该对象:

public class MyEx extends Throwable {
    private MyObject object;

    public MyEx(MyObject o){
        super();
    }

    public MyObject getSource(){
        return object;
    }
}

但我不知道是否存在另一种捕获异常的方法。你知道其他任何方式吗?

2 个答案:

答案 0 :(得分:4)

如果您只想查看引发异常的代码部分,则可以使用简单的堆栈跟踪。您可以通过在异常实例上调用printStackTrace()来获得此结果。

但是,这并没有为您提供引发异常的确切对象实例。为此,您必须实现您指定的自定义Exception。请注意,在某些情况下,不存在实例,例如从静态方法抛出的异常。

答案 1 :(得分:3)