没有被捕获的异常会使程序终止
编译器会核对每件事,除了RuntimeException之外(即编译器不会提醒你捕获RuntimeException异常),因为RuntimeException都是程序逻辑错误导致的,应该由程序员在编译时发现,但try/catch是用来捕获正真的异常的如:你无法保证文件一直都在,你无法保证服务器不会死机。
在try中声明的变量,相当于一个局部变量,其作用域范围,仅限于try中
当且仅当出现下面3种情况时,catch子句中的参数才被认
为是与被抛出的异常情况相匹配:
•
参数与被抛出的异常同属于一个类;
•
参数是被抛出的异常的超类;
• 参数是一个接口,被抛出的异常类实现了这个接口。
finally程序块还可以配合break、continue和return语
句工作,前提是这3个语句位于try块内,当以break、
continue或return语句退出try块时,先执行finally程序块
中的代码,然后break、continue或return语句才起作用。
父类的构造函数抛出的异常,子类在继承时应该处理