异常处理

异常处理  
三类异常处理  
1.检查异常:检查异常通常是用户错误或者不能被程序员所见的问题。  
2.运行时异常:运行时异常是一个程序在运行过程中可能发生的、可以被程序员避免的异常类型  
3.错误:实际上,错误根本不是异常,但却是用户或程序员所无法控制的问题。   
异常的控制流程  
对于异常处理有三种选择  
1. 捕获这个异常,不让它沿着调用栈继续向下抛出  
2. 捕获这个异常,并继续向下抛出
3. 不捕获这个异常,从而导致方法从调用栈中被弹出,异常对象继续抛给调用栈下面的main()方法。   

Thowable类  
异常的一个公共父类Java.lang.Throwable。Throwable类有两个子类Exception和Error。  
捕获异常  
用关键字try和catch来捕获异常  

     try{ 被保护的代码  
        }catch(异常的名称 e){ 捕获块}  

多个catch块  

    try{ 被保护的代码  
        }catch(异常的名称 e){ 捕获块1}  
          catch(异常的名称 e2){ 捕获块2}   
           catch(异常的名称 e3){ 捕获块3} 
异常捕获与多态性 
 虽然一个try块后可以跟随多个catch块,但是catch块不能简单地以任意顺序列出。当异常发生的时候,catch块会依照它们的排列顺序被依次检查。由于多态性的存在,一个catch块有可能不会被检查到。  
异常处理及声明的规则  
一个检查异常要么被处理,要么被声明。  
声明异常 用关键字throws

     public void deposit(double amount)throws RemoteException{}  
抛出异常用关键字throw  

        int a=1/a;
        if(a==0){
        throw new ArrayIndexOutofBoundsexception();}  

finally关键字
用于在try 块后创建一个代码块。finally代码块总会执行,不管异常是否发生  

    try{ 被保护的代码  
        }catch(异常的名称 e){ 捕获块1}  
          catch(异常的名称 e2){ 捕获块2}   
           catch(异常的名称 e3){ 捕获块3}   
         finally{}  
方法重写与异常  
子方法不能抛出父类方法更多的异常  
自定义异常  
自己定义规则以及自己的处理流程的异常

posted @ 2017-01-02 19:30  ke12  阅读(86)  评论(0)    收藏  举报