-
1.Exception和Error
- e.g.内存超出
- 1.检查性异常>>>打开一个不存在的文件
- 2.运行时异常>>>最有可能被程序员避免
- 3.错误ERROR>>>错误不是异常,而是脱离程序员控制的问题。例如栈溢出
- java把异常当作一个对象来处理,并定义一个基类java.lang.Throwable最为所有异常的超类
- 具体分为两大类:Error(错误)和异常(Exception)
- Error:
- 是有java虚拟机生成并抛出,大多数错误域代码编写者所执行的操作无关
- java虚拟机运行错误:当JVM不再有继续执行操作所需的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选项线程终止
- 类定义错误、连接错误....这些错误是不可查的
- Excption:
- 运行时异常
- 非运行时异常
- 数组下标越界
- 空指针异常
- 算术异常
- 丢失资源
- 找不到类
-
2.捕获和抛出异常
- 异常处理的五个关键字:
- try、catch、finally、throw、throws
- 1.try(必要)
- 用于监控区域,观察 是否出现异常
- 2.catch(必要)
- 可以捕获这个区域中发生的错误
- 其中的参数表示想要捕获的异常类型
- 最高级:Throwable
- 其次:Error、Exception
- 可以捕获多个异常(且越大的异常写在越后面)
- 3.finally(非必要)
- 用于处理一些善后工作>>>即无论有没有出现异常都会处理finally
- 假设IO流,资源需要关闭,就写在这个区域
- 快捷键:选中你需要捕捉异常的代码,ctrl+alt+t,可以将选中的代码用选中的格式包裹起来
- e.printStackTrace();
- 表示打印栈信息,会将错误打出来
- 4.throw/throws
- 主动抛出异常,一般在方法中使用
- 假设在方法中,处理不了这个异常,就在方法中主动抛出异常
- 异常处理的五个关键字:
-
3.自定义异常
- 用户自定义异常类,只需要继承Exception类即可
- 步骤:
- 1.创建自定义异常类
- 2.在方法中通过throw关键字抛出异常对象
- 3.如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理,否则就在方法的声明中通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作
- 4.在出现异常方法中的调用者捕获并处理异常
- alt+enter自动修改
JAVA的异常机制
最新推荐文章于 2024-07-13 13:55:40 发布