Java中的异常及异常处理

    xiaoxiao2021-03-25  83

    1.常见的异常类型:

    Exception:异常层次结构的根类;

    ArithmeticException:算数错误形式,如零做除数;

    ArrayIndexOutOfBoundsException:数组下标越界;

    NullPointerException:尝试访问null对象成员;

    ClassNotFoundException:不能加载所需的类;

    InputMismatchException:欲得到的数据类型与实际输入的类型不匹配;

    IllegalArgumentException:方法接收到非法参数;

    ClassCastException:对象强制类型转换出错;

    NumberFormatException:数字格式转换异常,如把“abc”转换成数字;

    2.Java中的异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws。

    3.try-catch-finally结构

    语法:try {

    //代码块

        } catch (异常类型){

    //代码块

        } finally {

      //代码块

        }

    *注意:

    >try-catch-finally结构中 try 块是必须的,catch 和finally 块均为可选,但两者至少需出现其中之一。即使在 try 块和 catch 块

      中存在 return 语句,finally 仍然会被执行,执行顺序:执行 try 块或 catch 块中的 return 之前的语句,再执行 finally 快中的   语句,最后执行 try 块或 catch 块中的 return 语句退出。

    >finally 块中语句唯一不执行的情况:在异常处理代码中执行System.exit(1);将退出Java虚拟机。

    >可以在一个 try 语句块后面跟多个 catch 语句块,分别处理不同的异常。但排列顺序必须是从特殊到一般,最后一个一般    为Exception类。

    例如:try {

    //代码块

        } catch(InputMismatchException){

    //代码块

        } catch(ArithmeticException){

    //代码块

        } catch(Exception  e){

    //代码块

        } finally {

    //代码块

        }

    4.throw 和throws 的区别:

    》作用不同:throw 用于在程序中抛出异常;throws 用于声明在该方法内抛出了一场。

    》使用的位置不同:throw 位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。

    》内容不同:throw 抛出一个异常对象,而且只能是一个;throws后面跟异常类,而且可以跟多个异常类。

    例:public void setSex(String sex) throws Exception { //用 throws 声明异常

    if("男".equals(sex) || "女".equals(sex) ) {

    this.sex = sex;

    } else {

    throw new Exception ("性别必须是\"男\"或者\"女\"!"); //用throw抛出异常

    }

    }

    转载请注明原文地址: https://ju.6miu.com/read-35605.html

    最新回复(0)