- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6单元数据库访问(Yes).
第六单元 数据库访问
6.1 异常
天有不测风云,人有旦夕祸福,Java的程序代码也如此。在编程过程中,首先应当尽可能去避免错误和异常发生,对于不可避免、不可预测的情况则在考虑异常发生时如何处理。
异常有两个模型:中止模型和继续模型中止模型认为异常不应该再回来,他做的是善后工作。而继续模型保持异常时环境,希望再一次能运行成功。Java采用的是前者,而OS一般采用后者。
异常定义class test1
{ public static void main(String[] args)
{ String str=null; int[] xx=new int[5];
System.out.println(str.length());
xx[5]=34;
} }
运行结果见图6-1。
图6-1 例6-1运行结果
异常exception)是一个在程序执行期间发生的事件,它中断正在执行的程序的正常的指令流。Java异常有三类:错误,运行时异常,检查型异常。
当在一个方法中发生错误的时候,这个方法创建一个对象,并且把它传递给运行时系统。这个对象被叫做异常对象,它包含了有关错误的信息,这些信息包括错误的类型和在程序发生错误时的状态。创建一个错误对象并把它传递给运行时系统被叫做抛出异常。一个方法抛出异常后,运行时系统就会试着查找一些方法来处理它。这些处理异常的可能的方法的集合是被整理在一起的方法列表,这些方法能够被发生错误的方法调用。这个方法列表被叫做堆栈调用call stack)。zhan
运行时系统搜寻包含能够处理异常的代码块的方法所请求的堆栈。这个代码块叫做异常处理器,搜寻首先从发生的方法开始,然后依次按着调用方法的倒序检索调用堆栈。当找到一个相应的处理器时,运行时系统就把异常传递给这个处理器。一个异常处理器要适当地考滤抛出的异常对象的类型和异常处理器所处理的异常的类型是否匹配。异常被捕获以后,异常处理器关闭。
异常异常体系结构图Throwable是所有异常的基类,程序中一般不会直接抛出Throwable对象,Throwable本身存在两个子类实例,一个是Error、一个是Exception;
[1]Error:Error仅在当在Java虚拟机中发生动态连接失败或其它的定位失败的时候,Java虚拟机抛出一个Error对象。在Java里面Error表示程序在运行期间出现了十分严重的问题以及不可以恢复的错误,这种情况唯一的办法是中止程序运行,JVM一般不会检查Error是否被处理,而本身在程序中也不能捕获Error类型的异常,因为Error一旦产生,该程序基本会处于需要中止的状态。
[2]Exception:在Java里面Exception指的就是在编程过程可能会遇到的异常的概念,也属于Java程序里面允许出现的例外的状况,而Exception本身分为以下两种:
RuntimeException:该异常继承于Exception类,这种类型的异常可以这样理解,为不可估计的异常,一般称为运行时异常,从字面意思上讲就是在程序正式运行的时候会碰到的偶发性异常,这种异常因为是在运行时抛出一般情况下不需要进行捕获操作。
CheckedException:该类异常不存在继承于Exception类的说法,因为Java里面没有CheckedException异常类,而之所以这样区分,因为CheckedException类的异常是在编程过程中经常会遇到的异常,可以翻译为“可检测异常”或者“捕获型异常”,该类异常往往属于编译期异常,一般开发过程会针对系统进行CheckedException的设计。
异常树java.lang.Exception(1.0):
|—java.lang.RuntimeException(1.0)
|—java.lang.ArithmeticException(1.0)
|—java.lang.ArrayStoreException(1.0)
|—java.lang.ClassCastException(1.0)
|—java.lang.EnumConstantNotPresentException(1.5)
|—java.lang.IllegalArgumentException(1.0)
|—java.lang.IllegalThreadStateException(1.0)
|—java.lang.NumberFormatException(1.0)
|—java.util.FormatterClosedException(1.5)
|—java.util.IllegalFormatExcept
您可能关注的文档
- 第3章_信号描述(mpc83xx中文翻译_)..doc
- 第3章习题_水文信息采集与处理..doc
- 第3章LotusDomino6.5程序设计..doc
- 第3章其他的技术分析图表..doc
- 第3章动量角动量习题解答..doc
- 第3章基础外汇交易..doc
- 第3章安全性知识..doc
- 第3章_信号描述_mpc83xx中文手册..doc
- 第3章整式与因式分解(17页有答案)..doc
- 第3章物质构成的奥秘..doc
- 2024至2030年中国压花短毛绒数据监测研究报告.docx
- 2024至2030年中国膏霜盒盖行业投资前景及策略咨询研究报告.docx
- 2024年2月武汉音乐学院面向海内外引进高层次人才17人笔试历年典型考点(频考点试卷)解题思路附带答.docx
- 2024至2030年中国全水相合成增稠剂行业投资前景及策略咨询研究报告.docx
- 2024至2030年男大衣项目投资价值分析报告.docx
- 2024至2030年中国小香猪行业投资前景及策略咨询研究报告.docx
- 2024至2030年中国气体控制器行业投资前景及策略咨询研究报告.docx
- 2024至2030年中国单头呆扳手数据监测研究报告.docx
- 2024至2030年中国单栋大棚数据监测研究报告.docx
- 2024年中国男式外套市场调查研究报告.docx
文档评论(0)