上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 47 下一页
摘要: 抛出异常的时候,异常处理系统会安装代码书写顺序找出"最近"的处理程序. 找到匹配的程序后,它就认为异常将得到清理,然后就不再继续查找. 查找的时候并不要求抛出的异常同处理程序的异常完全匹配.派生类的对象也可以配备其基类的处理程序 换句话说,捕获基类的异常,就可以匹配所有派生类的异常 阅读全文
posted @ 2019-01-22 13:01 江期玉 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 有一点很重要,即你要时刻询问子句"如果异常发生了,所有东西能被正确清理码?",尽管大多数情况下时非常安全的,但涉及到构造器时,问题出现了,构造器会把对象设置成安全的初始状态,但还会又别的动作,比如打开一个文件,这样的动作只有在对象使用完毕并且用户调用了特殊的清理方法之后才能得以清理,如果在构造器内抛 阅读全文
posted @ 2019-01-22 12:41 江期玉 阅读(1367) 评论(0) 推荐(0) 编辑
摘要: 一. 1.) 在覆盖方法的时候,只能抛出在基类方法的异常说明里列出的那些异常 2.) 在基类构造器声明的异常,在子类必须抛出,子类的构造器可以抛出任何异常,但是必须抛出基类构造器的异常 3.) 在基类和接口方法声明的异常,子类覆盖的方法可以不抛出基类和接口方法声明的异常以外的异常,但可以少或不抛出 阅读全文
posted @ 2019-01-22 02:06 江期玉 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 一.java的异常实现也是又缺陷的,异常作为程序出错的标志决不能被忽略,但它还是可能被轻易地忽略.下了可以看到前一个异常还没处理就抛出下一个异常,没有catch捕获异常,它被finally抛出下一个异常所取代 二.在finally中加入return语句,没有用catch语句捕获异常,下面这种情况编译 阅读全文
posted @ 2019-01-21 14:47 江期玉 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 一.使用finally进行清理 对于一些代码,可能会希望无论try块中的异常是否被抛出,它们都能得到执行,这通常适用于内存回收之外的情况(内存回收由垃圾回收器完成),为了达到这个效果,可以异常处理程序后面加上finally子句,完整的异常处理程序看起来像这样: 为了证明finaly总会被执行,可以试 阅读全文
posted @ 2019-01-21 13:14 江期玉 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: 一.Throwable这个Java类被用来表示任何可以作为异常被抛出的类.Throwable对象可分为两种类型(从Throwable继承而得到的类型): 1.) Error用来表示编译时和系统错误 2.) Exception是可以被抛出的基本类型(程序员关系的通常是Exception 二.特例Run 阅读全文
posted @ 2019-01-21 12:18 江期玉 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 一.有时希望把刚捕获的异常重新抛出,尤其时在使用Exception捕获所以异常的时候,既然已经得到了对当前异常对象的引用,可以重新把它抛出: 二 : 1.重新抛出异常会把异常抛给上一级环境中的异常处理程序,同一个try块的后续catch字句将忽略. 2.异常对象的所有信息都得以保持,所以高一级环境中 阅读全文
posted @ 2019-01-20 23:02 江期玉 阅读(2051) 评论(0) 推荐(0) 编辑
摘要: 1.) 常常会想要在捕获一个异常后抛出另一个异常,并且希望把原始异常的信息保存下来,被称为异常链. 2.)Throwable子类在构造器中可以接受一个cause(因由)对象作为参数.这个cause就是用来表示原始异常,这样通过原是异常传递给新的异常,使得即使在当前位置抛出了新的异常,也能通过异常链追 阅读全文
posted @ 2019-01-20 22:41 江期玉 阅读(399) 评论(0) 推荐(0) 编辑
摘要: printStackTrace()方法所提供的信息可以通过getStackTrace()方法直接访问. getStackTrace()方法返回一个由根轨迹中的元素所构成的数组,每一个元素都表示栈中的一帧,元素0是栈顶元素,并且是调用序列总的最后一个方法调用,数组中最后一个元素和栈底元素是调用序列中的 阅读全文
posted @ 2019-01-20 21:56 江期玉 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1.) 通过捕获异常类型的基类Exception就可以处理所有类型的异常.(事实上还有其它的基类,但Exception是同编程活动相关的基类) 2.)因为Exception是与编程有关的所有异常类的基类,所以捕获包含太多的具体的信息,不过可以调用它从其基类Throwable继承的方法 阅读全文
posted @ 2019-01-20 21:49 江期玉 阅读(2192) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 47 下一页