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 关键字
他的作用是 无论出不出现异常都会执行的代码块
使用方法如下:
还可以自定义异常
通过类的继承异常类来创建
实际应用案例
老九学堂会员社群出品
原文:https://www.cnblogs.com/ljxt/p/11609158.html