异常处理

1. 异常:程序在执行过程中所产生的问题

2. 异常分类:

      A. 检查异常(checked异常,受检异常):通常是用户错误或者不能被程序员所预见的问题

      B. 运行时异常(unchecked异常):是一个程序在运行过程中可能发生的,可以被程序员避免的异常

      C. 错误

3. 异常的控制流程

A.在Java语言中,异常(Exception)是被一个方法抛出的对象。当一个方法抛出异常时,该方法从调用栈中被弹出,同时产生的异常对象抛给了栈中的前一个方法。

B.对于异常的处理,方法有三种选择:

a.捕获这个异常,不让它沿着调用栈继续向下抛出;

b.捕获这个异常,并继续向下抛出;  

c.不捕获这个异常,从而导致方法从调用栈中被弹出,异常对象继续抛给调用栈下面的方法

4. Throwable类

在Throwable类中有两个方法,可以用于获取抛出异常的信息:

A. getMessage

B.printStackTrace

5. 捕获异常

关键字:try,catch

语法:try{

//被保护的代码

}catch(异常的名称 e){

//捕获块

}catch(){

}finally{

//finally块总会执行

}

注意: A. 如果在try程序块中没有抛出异常,那么catch块将被忽略。程序将继续执行try-catch下面的语句

         B. 在一个try-catch语句中,当有多个catch块的时候,它们被顺序检查

         C. 如果有一块代码不管是否发生异常抛出都要被执行,我们使用关键字finally

         D. 当在try程序块中,遇到return语句,finally块中的语句在方法返回之前被执行

6. 异常的抛出

A. 声明异常:使用关键字throws,throws放在方法签名的末尾(访问修饰符 可选修饰符 返回类型 方法名(参数列表)throws 异常类型)

B. 抛出异常:使用关键字throw(throw new异常类型)

8. 用户自定义异常

自定义异常步骤:

第一步:创建一个类继承于Exception

第二步:添加构造方法和普通方法

第三步:在一个方法中抛出异常

第四步:在另一个方法中捕获并处理异常

 

posted on 2015-05-10 11:57  忆往昔-XS  阅读(246)  评论(0编辑  收藏  举报