- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
异常的概念 异常处理方法 自定义异常类 断言 自定义异常类 在开发Java程序时,以下情况可能导致需要自定义异常类 所需的异常类型在Java标准异常体系中不存在 需要将某些实际的异常与Java标准异常相区分 使用其它package中定义的异常类会影响当前package的独立性与自包含性 自定义异常类 定义方法 自定义异常类是Exception类的子类,可包含普通类的内容 尽量不将自定义异常类作为RuntimeException类的子类,因为RuntimeException免检而我们希望自定义异常必检 自定义异常类的定义 //描述通信中客户端和服务器连接超时的异常 public class ServerTimeOutException extends Exception{ private String reason; private int port ; public ServerTimeOutException(String reason, int port){ this.reason = reason; this.port = port; } public String getReason(){ return reason; } public int getPort(){ return port; } } 自定义异常类的使用 // 抛出自定义异常 Public void connectMe(String serverName) throws ServerTimeOutException{ int success; int portToConnect = 80; success = open(serverName, portToConnect); if(success= -1){ throw new ServerTimedOutException(“Could not connect”,80); } } 自定义异常类的使用 // 捕获自定义异常并处理 Public void findServer(){… try{ connectMe(defaultServer); } catch (ServerTimeOutException e){ System.out.println(“Server timed out, try another”); try{ //try-catch语句块是可以嵌套的 connectMe(alternateServer); } catch (ServerTimeOutException e1) { System.out.println(“No server avaliable”); } } } // 例:TestMyException.java 异常的概念 异常处理方法 自定义异常类 断言 断言(Assertion) 断言是软件开发中常用的调试方式,很多语言(如C,C++等)都支持此机制,但支持方式不尽相同 Java中专门提供了assert语句,为Java程序提供一种错误检查机制 每个断言都包含一个布尔表达式 若程序没有错,则运行assert语句时该表达式的值应该为true 如果表达式的值为false,则系统将抛出一个错误 断言的定义 第一种形式 assert expr; expr为布尔表达式 运行该断言语句时,求出expr的值 若值为false,则说明程序处于不正确状态,系统抛出一个没有任何详细信息的AssertionError类型的错误对象,并退出 若值为true,则继续执行 断言的定义 第二种形式 assert expr1 : expr2; expr1为布尔表达式,expr2为一般表达式 运行该断言语句时,求出expr1的值 若值为false,则系统计算出expr2的值,并以这个值为参数调用AssertionError类的构造方法,创建一个包含详细信息的AssertionError对象,抛出并退出 若值为true,则expr2不被计算,程序继续执行 断言的使用(一) 保证控制流的正确性 在if-else语句和switch语句中,可在不应被执行的控制流下,使用assert false语句,若控制流异常,则会抛出AssersionError public class AssertionDemo { public static void main(Strin
您可能关注的文档
- 8000智能家居系统方案.doc
- 802班家长会课件(严寒归).ppt
- 801杜甫诗三首.ppt
- 80C51单片机硬件结构.ppt
- 80t龙门吊拆卸方案.doc
- 8.大学生素质拓展规划--陈明森.ppt
- 84E99UD-U产品投标参数150907.doc
- 8279单片机.ppt
- 840呼吸机呼吸模式.ppt
- 85、北京家装报价表.doc
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)