我在methodA methodB methodC methodD
class A
classA{
methodA throws ExceptionA(){
methodB
}
methodB throws ExceptionA(){
}
methodC throws ExceptionA(){
methodB
}
methodD throws ExceptionA(){
methodC
}
让我们假设我的方法D抛出异常将创建多少个异常实例?我在想,因为方法级别存储在堆栈中会有4个异常实例。我的理解是对的吗?
答案 0 :(得分:1)
创建的异常实例数与抛出它们无关。相反,这个数字与每个其他对象相同,可以通过计算相应异常类的构造函数被调用的频率来获得。
请考虑以下代码段:
Exception a = new myException();
Exception b = new myException();
throw new myException();
此代码创建3个异常实例。