第十一章 异常处理
来源:互联网 发布:stc单片机iap远程升级 编辑:程序博客网 时间:2024/04/30 01:31
异常(Exception)是程序在执行过程中所产生的问题
问题 错误(Error)
异常(Exception) 编译期异常(检查异常checked Exception)
运行期异常(不检查异常unchecked Exception)
凡是能够用代码去纠正的就是异常,错误是不能用代码去解决的问题
异常类型 父类Thowable类 Error
Exception Runtime Exception
非运行期异常
异常处理:①事前处理(提前加判断)
②事后处理(产生异常对象以后,用try----catch----finally)
try {
正常情况下有可能发生异常的代码
} catch (异常类型的引用){
处理代码
} finally {
不管 是否发生异常都必须要执行的代码
}
异常捕获不一定必须要在错误的地方,只要在异常返回给JVM之前,在任何位置异常都能try /catch
try块后面可以接多个catch块,但是catch块不能以简单的任意顺序列出,如果catch块有继承关系,要把子类异常卸载父类异常之前
finally就算前面有return或break等跳转语句,也要执行finally之后再跳转,只有exit能提前跳出
finally中一般写的都是资源的清理,通道的关闭,各种连接用完后的关闭
语法上:try----catch-----finally不能单独存在
try---catch;try -----finally; try -----catch-----finally都可以
③抛出异常:关键字:throw
throw:写在方法体当中,后面接的是一个异常对象,一旦执行到这句代码,就会真正执行异常抛出这个动作
若throw抛出的是一个runtimeException时,编译器不会强制要求写throws,写了也不会警告
当throw后面跟的是编译期异常(包括exception),编译器回强制要求本方法后面加上throws
throws:写在方法声明的最后,后面跟的是异常的类名,可以跟多个,中间用逗号隔开
警告方法的调用者本方法有可能回出现某种或某些类型的异常
自定义异常:
①首先要继承Throwable或者Exception,没有继承就不是异常
②要书写带参构造,将已发生的异常对象的信息封装到自定义异常对象身上
书写带参构造,讲业务异常的信息装入自定义异常对象身上
③添加自定义异常的特有方法
- 第十一章 异常处理
- 第十一章 异常处理
- 第十一章 异常处理
- 第十一章异常处理总结
- 第十一章 JAVA异常与异常处理
- 第十一章 异常
- python 教程 第十一章、 异常
- python 教程 第十一章、 异常
- 《Java核心技术(卷一)》读书笔记——第十一章:异常处理
- 第十一章 处理概括关系
- 《Java核心技术》复习笔记 - 第十一章 异常
- 【细说PHP学习】第十一章 字符串处理
- 第十一章,图像处理和文本认证
- 《数字图像处理》--冈萨雷斯(第十一章)
- 数字图像处理matlab版第十一章
- 【PHP自学笔记】第十一章 图形图像处理
- 【第十一课】异常---StringEquals
- 【第十一课】异常---toString
- Atitit php序列化 php的serialize序列化和json序列化
- Mac OS X运行程序出现bad interpreter: operation not permitted的解决方案
- 数据结构
- 六、String类的练习
- 进程与线程
- 第十一章 异常处理
- zizaco/entrust 5.2.x-dev Class name must be a valid object or a string
- 加锁
- c 语言
- 【总结】AWS的(助理)架构师认证体系详解
- 在Windows上编译mono
- 58同城赶集的数据库开发架构设计
- 直播项目技术备忘
- Codeforces 667D World Tour【最短路+枚举】