首页 > 代码库 > Java入门——异常的捕获与处理

Java入门——异常的捕获与处理

Java入门——异常的捕获与处理


在没有异常处理的语言中,通常需要大量的判断语句,配合所想到的错误来捕获程序中所有可能发生的错误。充分利用Java的异常处理机制,以增进程序的稳定性和效率。


 Java的异常处理机制

  1. 一旦产生异常,则首先会产生一个异常类的实例化对象。
  2. 在try语句中对此异常对象进行捕获。
  3. 产生的异常对象与catch语句中的各个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。
  4. finaly是异常的统一出口,一定会执行。

所有的子类实例全部可由父类接收,利用向上转型的概念,所有的异常对象都可以使用Exception类接收


throws关键字

  throws:使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理。

  在主方法中不要使用throws关键字。


 throw关键字

  可以直接使用throw关键字人为的抛出一个异常,抛出时,直接抛出异常类的实例化对象即可。


范例:throw与throws的应用

设计一个相除的方法,要求必须打印“计算开始”信息,“计算结束”信息,如果有异常,则肯定调用被调用处处理。

 1 package Sep18; 2 /*设计一个相除的方法,要求必须打印“计算开始”信息,“计算结束”信息,如果有异常,则肯定调用被调用处处理。 3  */ 4 public class TrowDemo02 { 5     public static void main(String args[]){ 6         Math m=new Math(); 7         try{ 8             System.out.println("除法操作:"+m.div(10, 0)); 9         }catch(Exception e){10             System.out.println("异常产生:"+e);//产生异常时执行。11         }12     }13 }14 class Math{15     public int div(int i,int j) throws Exception{//方法可以不处理异常,直接抛出16         System.out.println("****计算开始****");17         int temp=0;18         try{19             temp=i/j;20             }catch(Exception e){//捕获异常21                 throw e;//把异常结构交给被调用处22             }finally{23                 System.out.println("****计算结束****");24             }25         return temp;26     }27 }
****计算开始********计算结束****异常产生:java.lang.ArithmeticException: / by zero

Exception类与RuntimeException类

  RuntimeException类是Exception类的一个子类,但是可以直接throws,而不用try---catch---抛出,但是最好还是正常捕获。

 

Java入门——异常的捕获与处理