- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 异常处理和多线程 5.1 异常与异常类 5.2 异常的处理 5.3 多线程 5.1 异常与异常类 异常(Exception)是程序执行期间发生的错误。在Java程序执行期间,产生的异常通常有三种类型:一是Java虚拟机由于某些内部错误产生的异常,这类异常不在用户程序的控制之内,也不需要用户处理这类异常;二是标准异常,这类异常通常是由程序代码中的错误产生的,例如被0除、数组下标越界等,这是需要用户程序处理的异常;三是根据需要在用户程序中自定义的一些异常。 5.1 异常与异常类 5.1.1 异常处理机制 在Java语言中,所有的异常都是用类表示的。当程序发生异常时,会生成某个异常类的对象。Throwable是java.lang包中一个专门用来处理异常的类,它有两个直接子类:Error和Exception。 Error类型的异常与Java虚拟机本身发生的错误有关,用户程序不需要处理这类异常。程序产生的错误由Exception的子类表示,用户程序应该处理这类异常。 Exception中定义了许多异常类,每个异常类代表了一种执行错误,类中包含了对应于这种运行错误的信息和处理错误的方法等内容。当程序执行期间发生一个可识别的执行错误时,如果该错误有一个异常类与之相对应,那么系统都会产生一个相应的该异常类的对象。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,从而保证用户程序在整个执行期间不会产生死机、死循环等异常情况。Java语言采用这种异常处理机制来保证用户程序执行的安全性。 5.1 异常与异常类 5.1.2 异常类的继承结构 Java语言的Exception类的继承结构如图5-1所示。 Exception类的每一个子类代表一种异常,这些异常表示程序执行期间各种常见的错误类型,它是Java系统事先定义好的并包含在Java语言类库中,称为系统定义的执行异常。表5-1对一些常见的系统定义的执行异常做了简要说明。 Exception类的两个构造函数是: public Exception(); public Exception(String s); 其中,第二个构造函数可以接受字符串参数传入的信息,这个信息是对异常对象所对应的错误的描述。 图5-1 表5-1 5.1 异常与异常类 Exception类也从父类Throwable那里继承了一些方法,最常用的两个方法是: public String toString(); public void printStackTrace(); 其中,第一个方法是返回描述当前Exception类信息的字符串。第二个方法的主要功能是在屏幕上输出异常信息,这个异常信息是由Java系统对用户程序执行过程中产生的异常方法进行跟踪时产生的,并由PrintStackTrace()方法输出到标准出错输出流,对于控制台程序来说,这个输出流就是屏幕。 Java程序在执行期间如果引发了一个Java系统能够识别的错误,就会产生一个与该错误相对应的异常类对象,这个过程称为抛出(throw)异常。所有Java系统定义的执行异常都可以由系统自动抛出。下面的例子用来测试在数组越界时出现的异常。 5.1 异常与异常类 public class TestSystemException { public static void main(String args[]) { int num[]=new int[3]; for(int i=0;i4;i++) { num[i]=i; System.out.println( num[+i+]=+i); } } } 程序的运行结果如图5-2所示。 图5-2 5.1 异常与异常类 上例所示的程序在执行期间,由于在进行第四次for循环时存在着数组越界的错误,所以将引发ArrayIndexOutOfBoundsException异常。这个异常是Java系统已经定义好的一个异常类,所以Java系统遇到这个错误就自动终止程序的执行,并新建立一个ArrayIndexOutOfBoundsException类的对象,也就是抛出了一个数组越界异常。 5.2 异常的处理 当程序在执行期间发生异常时,可以采取两种方法对异常进行处理。一是由Java语言的异常处理机制来完成处理工作,但是采用这种处理方法时用户预先无法得知程序是发生了何种异常,用户无法对可能发生的异常做出适当的处理;二是用户使用Java系统提供的try-catch-finally组合语句处理可能的异常。这样一方面可以允许用户修正错误,另一方面可以避免因程序引起的异常而终止程序的执行。异常的处理通常由捕捉异常、程序流程的转移和异常处理语句块的定义
您可能关注的文档
最近下载
- 《针刺伤预防与处理》团体标准解读与实践PPT课件.pptx VIP
- 碳素、活性炭生产加工项目环评报告书.pdf VIP
- 《曹刿论战》第2课时示范公开课教学PPT课件【统编人教版九年级语文下册】.pptx
- (含图)原神家具负载表及计算器2.0.5.4.xlsx
- 【培训课件】财务管理与集团内部控制.ppt VIP
- DB50T 632-2015 火灾高危单位消防安全评估规程.pdf VIP
- 长庆油田公司第一采气厂地面产能建设工程 竣工资料编制办法.pdf
- AI能力融入职业院校教师数字素养培养的路径研究.docx VIP
- SB_T 11094-2014中药材仓储管理规范.pdf
- 102623 PDMS管道建模中放坡、开孔等12个学习要点.pdf
文档评论(0)