2:运行时异常
3:编译时异常
4:异常的默认处理
5:编译时异常的处理机制
2:异常处理方式1——throws
- throws: 用在方法上,可以将方法内部出现的异常抛出去给本方法的调用者处理
- 这种方式不好,如果异常最终抛给虚拟机将引起程序死亡。
抛出异常格式:
方法throws异常1,异常2,异常3..{
}
规范做法:
方法 throws Exception{
}
3:异常处理方式2——try...catch...
- 监视捕获异常,用在方法内部,可以将方法内部出现的异常直接捕获处理
- 这种方式还可以,发生异常的方法自己独立完成异常的处理,程序可以继续往下执行。
try{
//监视可能出现异常的代码
}catch(异常类型1 变量){
//处理异常
}
catch(异常类型2 变量){
//处理异常
}
//建议格式:
try{
//监视可能出现异常的代码
}catch(Exception e){
e.printStackTrace();
}
4:异常处理方式3——前两者结合
- 方法直接将异常通过throws抛出去给调用者
- 调用者收到异常后直接捕获处理
6:运行时异常的处理机制
7:自定义异常
什么时候一般需要使用异常处理:
- 文件操作:当打开、读取或写入文件时,可能会发生文件不存在、权限不足等异常情况。
- 网络操作:当进行网络请求时,可能会发生连接超时、无法连接等异常情况。
- 用户输入:当用户输入的数据不符合预期时,例如要求输入数字而输入了字母,需要进行异常处理。
- 数据库操作:当进行数据库操作时,可能会发生连接失败、查询失败等异常情况。
- 外部库或服务:当使用外部库或服务时,可能会发生调用错误、返回异常等情况。