- 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
- 国际油价波动规律剖析与我国油价应对体系构建研究.docx
- 互联网浪潮下的忠诚博弈:J公司“90后”员工忠诚度剖析与提升之道.docx
- 2024-2025学年沪科版八年级数学下学期期末模拟卷(拔尖卷)原卷版.pdf
- 互联网企业跨国并购财务风险控制探究——以腾讯并购Supercell为镜鉴.docx
- 环首都经济圈绿道网络规划:策略、实践与发展路径.docx
- 2024-2025学年沪科版七年级数学下册期末考试模拟卷01(含详解).pdf
- 机器视觉赋能装配线:精准防错检测技术的深度剖析与创新应用.docx
- 基于CVE的网络安全评估系统:架构、应用与优化策略.docx
- 基于K-means聚类和广义熵约束优化CVaR投资组合模型的深度探究.docx
- 基于电渗析的溶液再生系统性能的多维度探究与优化策略.docx
最近下载
- 新版-FSM-100MP新版中文使用手册.pdf VIP
- DLT 5210.1-2021 电力建设施工质量验收规程全套表格必威体育精装版701至847页.docx VIP
- 基于虚拟现实的初中物理实验教学模式探索与实践教学研究课题报告.docx
- 人形机器人标准化白皮书(2024版).pdf VIP
- 急性肾衰竭的应急预案及护理流程.docx VIP
- 2023年山东省菏泽市成武县小升初数学模拟试卷及答案解析.docx VIP
- 《交通运输设备》课程思政元素.docx VIP
- 软件工程软件维护方案.pdf VIP
- 山东省菏泽市成武县2023年小升初数学真题试卷及答案word版.docx VIP
- 体检中心安全管理.pptx VIP
文档评论(0)