标签:line com port 译文 java虚拟机 -- system details 虚拟
1.如果方法声明名里面有throws异常,那么方法体里面可以不抛出异常。因为可以在方法声明中包含异常说明,但实际上却不抛出!这样做的好处是,为异常先占个位置,以后就可以抛出这种异常而不用修改修改已有的代码。在定义抽象基类和接口时这种能力很重要,这样派生类或接口实现类就能够抛出这些预先声明的异常。
2.为什么有的方法声明里面没有throws,但方法体里面却抛出了异常?从RuntimeException继承的异常,可以在没有异常说明throws的情况下被抛出!对于Runtime异常(也称为非检查的异常unchecked exception),编译器不需要异常说明。只能在代码中忽略RuntimeException(及其子类)类型的异常,其他类型的异常的处理都是由编译器强制实施的。究其原因,RuntimeException代表的是编程错误。
3.运行时异常会被Java虚拟机自动抛出!
其他参考文章:
http://klyuan.iteye.com/blog/72170
http://blog.csdn.net/luqin1988/article/details/7970792
http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html 对应的译文,不怎么准确:http://blog.sciencenet.cn/blog-252888-761119.html
http://www.oschina.net/question/92866_15634
http://www.importnew.com/1701.html
http://sunflowers.iteye.com/blog/767175
标签:line com port 译文 java虚拟机 -- system details 虚拟
原文地址:http://www.cnblogs.com/langtianya/p/6931190.html