- 什么是异常
异常就是指的程序在运行过程中,发生的不正常(用户操作不当、服务终止、程序BUG……)的程序无法正常运作的情况。
异常处理的目的:为了提高程序的稳定性和健壮性,让程序正常的运作下去
java如何处理异常:
1、抓捕异常(推荐):尝试着抓到对应的异常,在针对具体问题,具体处理
抓捕异常:
try {
// 代码块
} catch (XxxException e) {
// 处理异常
} catch (XxxException e) {
// 处理异常
} finally {
}
try语法快: 如果没有抓捕到异常,程序正常执行,catch语法快不会进入!!! 如果try中,某行代码触发了一次,则程序立刻进入到对应的异常处理块(catch)中,进行异常处理。
异常处理:
提高程序的容错能力、稳定性、健壮性
异常:不正常
java异常:
try {
} catch() {
} catch() {
} catch() {
} finally {
}
java异常类的继承关系
|- Throwable
|— Error
|— Exception
|---- RuntimeException
|----非运行时异常
|---- IOException
异常对象的时候
当异常被捕获到,异常对象就会自动创建 e.getMessage() // 输出异常信息
e.printStackTrace() // 在控制台上打印输出异常的错误情况(调用栈情况)
自定义异常类的使用 在项目开发时,一般一个项目需要自定义一个异常,用来传递信息
在java中,自定义异常非常简单,只要继承了Exception类(称为Exception的子类)即可,该类就是一个异常类
人为的抛出异常: throw关键字抛出异常
throw 异常对象
2、抛出异常:向上抛出
方法名字后面 throws 异常名称 {
}
一旦使用抛出方案 异常将由调用者来解决
异常的分类:
|-- 运行时异常:继承了RuntimeException的异常
特点是:只有在运行时,才能知道是否会有异常
|-- 非运行时异常(编译型异常):
特点是:在编译时,就会报错,必须处理!!!
finally关键字: 特点:不管是否存在异常,finally部分必须要执行
try {
} finally {
// 重要的,必须要执行的、如资源的释放、垃圾的回收等等
}