首页 > 其他 > 详细

第七章 异常的捕获及处理

时间:2015-05-27 02:15:35      阅读:249      评论:0      收藏:0      [点我收藏+]

第七章?? 异常的捕获及处理

一、异常的基本概念:

???????????????? ①定义:异常时导致程序中断的一种指令流,所有的异常

???????????????? ? 以类和对象的形式存在

???????????????? ②异常处理机制的优点:易于使用、可自行定义异常类、

???????????????? ? 处理抛出的异常同时又不会降低程序运行的速度

???????????????? ③异常处理格式:?? try{

????????????????????????????????????????????????????????????? //有可能出现异常的语句

??????????????????????????????????????????????????????? }catch(异常类异常对象){

?????????????????????????????????????????????????????????????//编写异常的处理语句

??????????????????????????????????????????????????????? }[ catch(异常类异常对象){

?????????????????????????????????????????????????????????? ?//编写异常的处理语句

??????????????????????????????????????????????????????? }]

??????????????????????????????????????????????????????? [finally{

??????????????????????????????????????????????????????????? //一定会运行到的程序代码

??????????????????????????????????????????????????????? }]

???????????????? ④常见异常类型:

??????????????????????????? 数组越界异常:ArrayIndexOutOfBoundException

??????????????????????????? 数字格式化异常:NumberFormatException

??????????????????????????? 算术异常:ArithmeticException

???????????????? ⑤异常类的继承结构:

?????????????????????????????????(父类) Throwable???(子类1)? Exception

????????????????????????????????????????????????????????????????????(子类2)?Error

???????????????? ⑥异常信息的输出方式:

??????????????????????????? 1System.out.println(异常对象);

??????????????????????????? 2、异常对象 .printStackTrace();

???????????????? Java的异常处理机制:

??????????????????????????? 1、一旦产生异常,则首先会产生一个异常类的实例

????????????????????????????????? 化对象

??????????????????????????? 2、在try语句中对此异常类对象进行捕捉。

??????????????????????????? 3、产生的异常对象与catch语句中的各个异常类型

????????????????????????????????? 进行匹配,如果匹配成功,则执行catch语句中

????????????????????????????????? 的代码

???????????????? ⑧利用向上转型的概念,可以让所有的异常对象都使用

???????????????? ? Exception接收(所有捕获范围小的异常必须放在捕获范

???????????????? ? 围大的异常之前)

?

二、throwsthrow关键字

?????????? ????? throws

??????????????????? 1、用throws声明的方法表示此方法不处理异常,

???????????????????????? ?而交给方法调用处进行处理。而且在调用处必须

?????????????????????????????????使用trycatch进行处理

???????????????? ? ??????? ?2、使用格式:

????????????????????????????????? ? public 返回值类型方法名称 (参数列表…) throws 异常类{}

??????????????????????????3、主方法原则上也可以使用throws,但最好不要用

???????????????? throw

??????????????????????????? 1、直接使用throw关键字人为地抛出一个异常,抛

????????????????????????????????? 出时直接抛出异常类的实例化对象即可

????? ????????????????????? 2throw一般都与trycatchthrows联合使用

??????????????????????????? 3finally语句块中尽可能不要出现throwreturn

?

三、Exception类与RuntimeException

???????????????? ①继承关系:?????????? Exception????? (上一个是下一个的父类)

???????????????????????????????????????????? RuntimeException

?????????????????????????????????????? IllegalArgumentException

?????????????????????????????????????? NumberFormatException

???????????????? Exception在程序中必须使用trycatch进行处理

???????????????? RuntimeException可以不使用trycatch进行处理,但如

???????????????? ? 果有异常产生,肯定会导致程序中断执行。(最好还是用

???????????????? ? trycatch进行处理)

?

四、自定义异常类:只需要继承Exception类即可

?

五、断言:

???????????????? ①断言就是肯定某一个结果的返回值是正确的,如果最终

???????????????? ? 此结果的返回值是错误的,则通过断言检查会提示错误

???????????????? ? 信息

???????????????? ②定义格式:???? assert boolean 表达式;

??????????????????????????????????????????????????????? assert boolean 表达式:详细的信息;

???????????????? ③运行格式:javac 类名.java

???????????????????????????????????????????????? java –ea 类名

???????????????? ④断言的使用:

??????????????????????????? 1、虽然断言的返回值是boolean值,但是并不能将

????????????????????????????????? 其作为条件判断语句

??????????????????????????? 2、断言虽然有检查运行结果的功能,但是在开发中

????????????????????????????????? 并不提倡使用断言

第七章 异常的捕获及处理

原文:http://ljyyanyan.iteye.com/blog/2214501

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!