java异常体系详解
来源:互联网 发布:淘宝迷你型三辊研磨机 编辑:程序博客网 时间:2024/06/07 10:39
1.引出异常体系
在c语言中没有异常处理机制。在java中有。异常出现后,程序会中断,所以必须处理异常
2.异常体系
java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.
Error表示系统级别的错误和程序无需处理的。 其子类后缀名几乎都为Error,如想知道是什么错误,可直接拷贝错误名进入API查找
Exception表示程序需要捕捉和处理的异常:子类后缀名几乎都为Exception 如想知道是什么错误,可直接拷贝错误名进入API查找
常见的Exception异常: 1.java.lang.NullPointerException 异常的解释是"程序遇上了空指针"
2.java.lang.ArrayIndexOutOfBoundsException 异常的解释是"数组下标越界"
3.NumberFormatException:字符串转换为数字类型时抛出的异常。
3.处理异常
有2种方法:
1)该方法不处理,而是声明抛出,由调用者处理(throws)
2)在该方法中使用try - catch语句来处理异常
注意: try和catch必须同时使用,一个catch只能捕获一种异常,一个try后可以加多个catch来捕获异常。代码在一瞬间只能出现一种异常。
4.获取或查看异常信息(打印异常信息)
1)String getMessage() 即错误出现的原因(提供给用户看的错误信息)
2)String toString() 即错误出现的类型和原因(不用)
3)void printStackTrace() 即直接打印出错误的来源,类型和原因(在catch块中必写)
5.finally语句块
表示最终都会执行的代码(当只有在try或者catch中调用退出JVM的相关方法【System.exit(0)】,否则finally永远会执行),无论是否有异常
一般用在以下的情况中:当我们在try 语句块中打开了比如:磁盘文件,网络连接。数据库连接等。在使用完之后,最终关闭打开资源。
finally的两种语法结构(finally不能单独使用,一个try只对应一个finally,catch可有多个) :
1)try ....finally: 此时没有catch语句块来捕获异常,因为此时根据应用场景,我们会抛出异常,自己不处理。
2)try....catch....finally : 自身需要处理异常,最终还要关闭资源
如果finally语句中有return 语句,永远返回finally中的结果
- java异常体系详解
- Java异常体系
- JAVA 异常体系
- java的异常体系
- Java异常体系
- java异常体系
- java异常体系
- Java的异常体系
- Java异常知识结构体系
- Java异常体系
- Java的异常体系
- Java中的异常体系
- java异常体系
- java异常体系2
- java异常体系
- Java异常体系
- Java 异常体系规范
- java异常体系介绍
- GIT 常用命令
- Android studio 中输入法中文提示不跟随光标的解决方案
- 安装Hyperledger Fabric的先决条件
- 相对路径和绝对路径
- 润乾报表批量打印在tomcat7中设置
- java异常体系详解
- 强化学习on-policy跟off-policy的区别
- Web前端基础部分——清除浮动影响
- gdb设置条件断点
- java实现图的最小生成树问题
- (转)证券投资及财富管理市场创新趋势
- Winodws下编译OpenH264 for Windows
- Android ViewFlipper
- 设计模式之(一)——策略模式(Strategy Pattern)