一、概念:程序在运行过程中出现错误的处理能力
二、异常分类
Java中所有错误也是一个对象,所有错误都是java.lang.Throwable的子类
Throwable父类
|-----Error 错误 JVM或者硬件产生的问题,无法避免 //不做任何处理
|-----Exception 异常 程序在运行过程中或者配置中产生的问题 //可以处理
|-----RuntimeException及子类 未检查异常 可以处理或者不处理 //近视
|-----非RuntimeException及子类 已检查异常 必须进行处理 //车轱辘掉了
三、异常的产生
1. 自动抛出异常
当程序遇到不规范的代码或者结果,自动产生异常
2. 手动抛出异常
throw new 异常对象(); //产生异常
注: throw 抛出一个异常对象,将异常对象做为函数或者方法的返回值返回调用处 等同于 return 语句
四、异常的传递
按照函数或者方法调用返向传递
如:
//函数调用过程 主函数--->ma()--->mb()
//异常的传递 mb()--->ma()--->主函数
五、异常的处理
1. 消极处理 throws 声明异常
语法:
public static void mb(int a)throws 异常对象1,异常对象2{ //声明异常
//有可能出现异常的代码
}
注:只有异常传递,最终没有捕获异常并处理,程序仍旧会因异常而终止
2. 积极处理 捕获、处理异常
try{
//可能出现异常的代码
}catch(Exception e){ //异常引用
//处理异常
}catch...{
}finally{
//无论是否产生异常,finally内代码均会执行
//释放资源
}
------------------------------------------------------------
如: 1 插卡
2 输入密码
3 输入金额
4 余额=余额-2000
try{
5 吐钱 //可能出现异常的代码
}catch(ATM机中钱不够2000){
余额=余额+2000
}catch(ATM其它故障){
余额=余额+2000
}
六、重写覆盖方法
子类不能比父类抛出更多的异常
相关文章
- 09-14小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_23、SpringBoot2.x启动原理概述
- 09-14Golang基础——异常处理
- 09-14Java 中处理异常的 9 个最佳实践
- 09-14python基础(12)-包的导入&异常处理
- 09-14python开发模块基础:异常处理&hashlib&logging&configparser
- 09-14Python3基础 try-except 几个异常采取同样的处理方法
- 09-14Java 异常处理
- 09-14java struts2入门学习---异常处理和类型转换
- 09-14异常处理与网络基础中的tcp,udp协议
- 09-14Java数字图像处理基础 - 必读(转)