02-04_异常和断言.ppt

02-04_异常和断言.ppt

ID:48793622

大小:1.01 MB

页数:32页

时间:2020-01-25

02-04_异常和断言.ppt_第1页
02-04_异常和断言.ppt_第2页
02-04_异常和断言.ppt_第3页
02-04_异常和断言.ppt_第4页
02-04_异常和断言.ppt_第5页
资源描述:

《02-04_异常和断言.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java程序设计第六章 异常处理与断言本章教学目标掌握Java中的异常处理机制掌握断言的使用本章内容Java中的异常处理断言异常异常情况的出现会改变正常的程序流程很多情况可能导致异常,包括硬件故障、资源耗尽以及程序错误。当Java中出现异常时,称为一个异常被“抛出”。负责处理异常的代码称作“异常处理程序”,它“捕获”抛出的异常当某个异常发生时,需要有一种方法告诉JVM执行什么代码,为此,使用try和catch关键字,如以下形式try{ //被监视区域,存在可能产生异常的代码}catch(Exceptione){ //如果捕获到该类异常,执行这里}Java异常处理机制把各

2、种不同类型的异常情况进行分类,用Java类来表示异常情况,这种类被称为异常类。把异常情况表示成异常类,可以充分发挥类的可扩展和可重用的优势。异常流程的代码和正常流程的代码分离,提高了程序的可读性,简化了程序的结构。可以灵活的处理异常,如果当前方法有能力处理异常,就捕获并处理它,否则只需抛出异常,由方法调用者来处理它。publicvoidwork(){try{工作8个小时//可能会抛出DiseaseException异常下班回家}catch(DiseaseExceptione){去医院看病}}异常处理如果一个方法不想处理异常,可以通过throws语句将异常抛向上级调用方法。

3、intmethod1(intx)throwsException1,Exception2{if(x<0)thrownewException1();if(x==0)thrownewException2();return++x;}voidmethod2()throwsException1,Exception2{//以下代码可能抛出异常inta=method1(1);}异常处理采用堆栈机制publicclassExTester{staticintmethod1(intx)throwsException{if(x<0)thrownewException("x<0");return+

4、+x;}staticintmethod2(intx)throwsException{returnmethod1(x);}publicstaticvoidmain(Stringargs[])throwsException{System.out.println(method2(-1));}}main()method2()method1()方法调用堆栈finally语句finally语句定义一个总是被执行的代码块,而不管有没有出现异常。publicvoidwork(){try{开门工作8个小时//可能会抛出DiseaseException异常}catch(DiseaseExce

5、ptione){去医院看病;}finally{关门}}publicvoidwork(){try{开门工作8个小时//可能会抛出DiseaseException异常关门}catch(DiseaseExceptione){去医院看病;}}finally语句finally语句定义一个总是被执行的代码块,而不考虑是否出现异常。publicclassFinallyTester{staticintmethod1(intx)throwsException{if(x<0)thrownewException("x<0");returnx++;}publicstaticvoidmain(St

6、ringargs[]){try{System.out.println(method1(-1));System.out.println("end");}catch(Exceptione){System.out.println("Wrong");}finally{System.out.println("Finally");}异常处理流程try{code1;//可能抛出各种异常}catch(SQLExceptione){System.out.println("SQLException");}catch(IOExceptione){System.out.println("IOEx

7、ception");}catch(Exceptione){System.out.println("Exception");}异常处理流程finally语句不被执行的唯一情况是程序先执行了终止程序的System.exit()方法publicstaticvoidmain(Stringargs[]){try{System.out.println("Begin");System.exit(0);}finally{System.out.println("Finally");}System.out.println("End");}示例打印

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。