有几个问题需要帮助。
1、怎样理解“包装成运行时异常”?原始异常是哪类就是哪类,为什么要包装成运行时异常呢? 2、catch(Exception e)为什么总是e?e是形参吗,那么它的实参在哪里? 3、catch子句里的RuntimeException newExc=new RuntimeException();此处的RuntimeException类是程序默认继承吗?还是默认导入? 4、newExc.initCause(e);此方法翻译成汉语叫什么?有什么功能? 谢谢~
1、怎样理解“包装成运行时异常”?原始异常是哪类就是哪类,为什么要包装成运行时异常呢? 2、catch(Exception e)为什么总是e?e是形参吗,那么它的实参在哪里? 3、catch子句里的RuntimeException newExc=new RuntimeException();此处的RuntimeException类是程序默认继承吗?还是默认导入? 4、newExc.initCause(e);此方法翻译成汉语叫什么?有什么功能? 谢谢~
2016-02-05
2.e是形参,实参就是try中捕获到的异常,确切来讲,是test1()方法中抛出的某种异常类的对象,比如说,从throw new Exception() 就可以看出实际上是创建了一个Exception类的实例,然后再将实例抛出。因为Exception只是一个模板,但是我们会碰到各种各样的Exception类的异常,引起异常的原因不同,他们的内容描述也不同,这样可以理解为什么抛出的是类的对象。
4.initCause应该是initial cause的缩写吧,大概就是“起因”的意思,initial 最初的,cause 原因。
作用:将传入的对象设置为“原因”。如果这个对象已经被设置为“原因”,则抛出异常。
如果把这一条语句删除,你会发现,test1()中的异常是不会被显示在控制台中。
举报