应该是等同的。因为都是一个ArithmeticException 的事例!!!

解决方案 »

  1.   

    不同!
    首先第一个得到的 ArithemeticExcepton 对象的引用没有被复制保存
    所以它的作用域也只有在if语句内
    由于Java语言采用自动内存垃圾收集机制,没有引用的内存会在一个随即的时间内被清除掉
    所以第一个的用法就不够安全
    而下一段程序的引用保存在一个ArithemeticExcepton变量内
    所以作用域一直维持到当前模块结束!
    关于垃圾收集机制的实现,现在有好几种方法
    你可以去读一下程序员杂志2002年合订本的Java垃圾收集机制
    里面讲的很清楚