创建了多少个异常实例

时间:2013-11-19 10:45:10

标签: java exception

我在methodA methodB methodC methodD

中有一个class A
classA{

    methodA throws ExceptionA(){
        methodB 
    }

    methodB throws ExceptionA(){
    }
        methodC throws ExceptionA(){
            methodB
        }
        methodD throws ExceptionA(){
            methodC
        }

让我们假设我的方法D抛出异常将创建多少个异常实例?我在想,因为方法级别存储在堆栈中会有4个异常实例。我的理解是对的吗?

1 个答案:

答案 0 :(得分:1)

创建的异常实例数与抛出它们无关。相反,这个数字与每个其他对象相同,可以通过计算相应异常类的构造函数被调用的频率来获得。

请考虑以下代码段:

Exception a = new myException();
Exception b = new myException();
throw new myException();

此代码创建3个异常实例。