• 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---抛出,但是最好还是正常捕获。

  • 相关阅读:
    如何去掉流氓网站http://www.2345.com/?177
    『ExtJS』01 004. ExtJS 4 确定函数的作用域
    『Java』Servlet 最简教程
    『Java』最简教程
    『ExtJS』01 002. ExtJS 4 类的继承
    『ExtJS』01 003. ExtJS 4 类的混合
    『ExtJS』01 006. ExtJS 4 组件的别名
    『ExtJS』01 007. ExtJS 4 查找组件
    『ExtJS』01 005. ExtJS 4 类的‘Import’
    『ExtJS』01 001. ExtJS 4 类的定义
  • 原文地址:https://www.cnblogs.com/BoscoGuo/p/5877562.html
Copyright © 2020-2023  润新知