我正在研究Java中的一个分配,我想知道是否有可能知道哪个对象引发了异常。
我知道如果你制作了自定义异常,你可以修改构造函数并引用该对象:
public class MyEx extends Throwable {
private MyObject object;
public MyEx(MyObject o){
super();
}
public MyObject getSource(){
return object;
}
}
但我不知道是否存在另一种捕获异常的方法。你知道其他任何方式吗?
答案 0 :(得分:4)
如果您只想查看引发异常的代码部分,则可以使用简单的堆栈跟踪。您可以通过在异常实例上调用printStackTrace()
来获得此结果。
但是,这并没有为您提供引发异常的确切对象实例。为此,您必须实现您指定的自定义Exception。请注意,在某些情况下,不存在实例,例如从静态方法抛出的异常。
答案 1 :(得分:3)