代码改变世界

Java 异常处理

2019-09-29 17:47  老九君  阅读(180)  评论(0编辑  收藏  举报

Java 异常处理

有很多时候在运行程序时 经常出现一些错误 导致程序突然死掉 那怎么办呢?

这时异常处理显得尤重要, 程序中的绝大部分错误都是可以处理以及避免的

比如 运行 num = 1 / 0; 每个人都知道除数不能为0, 如果你直接运行就会蹦出一大堆红字

 

导致程序突然死掉的原因有很多,部分类别如下

1. 人为的输入错误的数值

2. 内存溢出

3. 访问下标不存在

4. 语法错误

 

异常类图

 

 

 

内部部分异常类

  ◕  ArithmeticException //算术异常

  ◕  ArrayIndexOutOfBoundsException //数组下标越界异常

  ◕  ArrayStoreException //数组类型不兼容异常

  ◕  ClassCastException //类的类型转换异常

  ◕  IllegalArgumentException //给方法传入不正确的参数

  ◕  IndexOutOfBoundsException //数组排序超出范围异常

  ◕  NegativeArraySizeException //创建空间为负的数组

  ◕  NullPointerException //调用对象为null时异常

  ◕  NumberFormatException //字符串转为基本类型时异常

  ◕  StringIndexOutOfBoundsException //字符串索引为负数时异常

  ◕  NoSuchFieldException //变量不存在异常

  ◕  NoSuchMethodException//方法不存在异常

 

异常的捕获方法

try{

    //可能出现错误的代码

}catch(捕获异常类型){

    //try块中出现异常则执行catch块代码

}

多重异常捕获

try{

    //可能出现错误的代码

}catch(捕获异常类型){

    //try块中出现异常则执行catch块代码

}catch(捕获异常类型){

    //try块中出现异常则执行catch块代码

}catch(捕获异常类型){

    //try块中出现异常则执行catch块代码

}

 

throws / throw抛出异常

 

 · 如果在一个方法中并没有人为的捕获异常 该方法就必须商用throws抛出异常 关键字需要写在方法名的后面

 · throw只可抛出一个异常 throws 抛出多个异常

 · 使用方法如下抛出一个异常

 

 

 

 

 · 也可抛出多个异常

 

 

 

Finally 关键字

他的作用是 无论出不出现异常都会执行的代码块

使用方法如下:

 

 

 

 

 

 

 

还可以自定义异常

通过类的继承异常类来创建

 

 

 实际应用案例

 

老九学堂会员社群出品