第七章 异常的捕获及处理

第七章   异常的捕获及处理

一、异常的基本概念:

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

                   以类和对象的形式存在

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

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

                 ③异常处理格式:   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、断言虽然有检查运行结果的功能,但是在开发中

                                  并不提倡使用断言

猜你喜欢

转载自ljyyanyan.iteye.com/blog/2214501
今日推荐