- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计6章
第6章 异常处理 计算机与信息工程分院 本次内容 一、异常概述 一、异常概述 程序员普遍缺乏异常处理意识 用户都知道软件没有不出错的,所以要把运行错误报告给用户,而不是试图隐藏 一、异常概述 Read file 二、Java的异常处理方法 二、Java的异常处理方法 try {//业务实现代码 } ?catch (Type1 id1 ) {处理异常类型1语句;} catch ( Typen id2 ) {处理异常类型2语句;} ……//其它catch语句 [finally { 无论是否抛出异常都要执行的语句;}] 二、Java的异常处理方法 二、Java的异常处理方法 String getMessage() 返回对象的错误信息 void printStackTrace()输出对象的跟踪信息到标准错误输出流 void printStackTrace(PrintStream s) 输出对象的跟踪信息到输出流s String toString() 返回异常名 TestDiv TestNull finally Human.java 访问异常信息 三、异常的抛出和处理 异常是一种很“主观”的说法,比如“下雨”。 很多时候系统是否要抛出异常,可能需要根据应用的业务需求来决定,此时必须由程序员来决定抛出,系统无法抛出这种异常。 三、异常的抛出和处理 三、异常的抛出和处理 Try{ throw new NullPointerException(); …… } Catch(NullPointerException e){ ….. } 三、异常的抛出和处理 Try {f(); } Catch(NullPointerException e){…..} f(){ throw new NullPointerException (); ……} 三、异常的抛出和处理 Try{f();} Catch(NullPointerException e){…..} f(){ if (b) { throw new NullPointerException (); ……}} 三、异常的抛出和处理 情况1:在同一方法中抛出异常和处理异常 三、异常的抛出和处理 通知客户程序员自己写的方法中可能抛出异常是一种文明的做法。 void f() throws tooBig,tooSmall,oldStyle{ // body of f() } 但是你可以撒谎申明你并不真正抛出的异常 四、自定义异常类 四、自定义异常类 其它例子 其它例子 其它例子 Run-time exception 不需要主动throw 无需 if (t==null) throw NullPointerException Run-time exception 不需要申明 如果一个Run-time exception被系统throw后没有被catch,会导致程序终止,并printStackTrace() 谢 谢! 计算机与信息工程分院 * Java程序设计 * Java程序设计 主讲教师:胡畅霞 phone:异常概述 4 1 2 3 Java的异常处理方法 异常的抛出和处理 自定义异常类 概念 异常是指程序在执行过程中出现的意外事件。 特点 通常会使程序的正常流程被打断 能否很好的处理运行时刻的异常情况是一个程序健康的标志(1:2) 传统错误处理方法? 如果采用If-else形式来处理错误,代码将会变成无法阅读的梦魇 Java中的处理方法? readfile{ try{ open the file; //打开文件 dertermine its size; //判断大小 allocate that much memory; //分配内存 read the file into memory; //将文件读入内存 close the file; //关闭文件 } catch (fileopenfailed){do sth. } catch (sizederterminedfailed){do sth.} catch (memoryallocatedfailed){do sth.} catch (readfailed){do sth. } catch(fileclosefailed){do sth.} } 返回主菜单 正常业务逻辑 异常捕捉 使用Java的异常处理机制,读、写和调试代码变得清晰。它把错误的代码和正常的代码分开。 返回 readfile{ open the file; //打开文件 dertermine its size; //判断大
文档评论(0)