- 4
- 0
- 约8.32千字
- 约 38页
- 2018-02-19 发布于浙江
- 举报
第六章的 异常处理
常见的RuntimeException ClassCastException:类型转换错误 比如 Object obj=new Object(); String s=(String)obj; ArithmeticException:算术错误 典型的就是0作为除数的时候。 IllegalArgumentException:非法参数 在把字符串转换成数字的时候经常出现的这个异常 可以在自己的程序中好好利用这个异常。 自定义异常类 在Java中已经提供了大量的异常类,但是这些异常类有些时候也很难满足开发者的要求 所以此时用户可以根据自己的需要定义自己的异常类,使得类在出现错误时尽量的强壮。 定义异常类,只需要继承Exception类即可。 class MyException extends Exception{ // 自定义异常类,继承Exception类 public MyException(String msg){ // 构造方法接收异常信息 super(msg) ; // 调用父类中的构造方法 } } public class DefaultException { public static void main(String args[]) { try{ throw new MyException(自定义异常。) ; // 抛出异常 }catch(Exception e){ // 异常处理 System.out.println(e) ; } } } MyException: 自定义异常。 自定义异常类 自定义异常的原则 Java异常类体系中不包含所需要的异常类型。 用户需要将自己所提供类的异常与其他人提供类的异常进行区分。 类中将多次抛出这种类型的异常。 如果使用其他程序包中定义的异常类,将影响程序包的独立性与自包含性。 自定义异常类与Java异常类的融合 由于Java异常处理机制只能处理Throwable类或其子类的对象,所以自定义异常类需要选取Throwable类或其某个子类作为父类。 一般自定义的异常类都以Exception类为父类。 从Exception类派生的自定义异常类的名字一般以Exception结尾。 自定义异常类的定义与使用 定义异常类 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{ connectMe(alternateServer); }catch(ServerTimeOutException e1){ System.out.println(“No server avaliable”); } } 异常使用默认规则 对异常的处理,有一条行之有效的默认规则:向上抛出 被调用类在运行过程中对遇到的异常一概不作处理,而是直接向上抛出,一直到最上层的调用类 调用类根据应用系统的需求和特定的异常处理规则进行处理 如向控制台输出异常堆栈信息,打印在日志文件中。 用一句形象的话来说,就是谁使用,谁(最上层的调用类)处理。 小结 异常处理机制是保证Java程序正常运行、具
您可能关注的文档
- 第七章:公共的组织行为.ppt
- 第七章计的算机原理.ppt
- 第七课 个人收的入的分配.doc
- 第七讲 马克思主义与社会科学的方法论.ppt
- 第三代移动通信技术的现状的及前景.pdf
- 第三单的元 单元检测B.docx
- 第三周1二进制的逻辑运算.pptx
- 第一课 的创造美的艺术.ppt
- 第七节、屏的蔽门系统.ppt
- 第三周字母以及字母组的合发音教学.ppt
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
最近下载
- 《四川省建筑与市政工程岩土工程勘察常见疑难问题解析》(2025版).pdf
- 基于多源数据融合的在线自助旅游平台的设计与实现.doc VIP
- SUEZ苏伊士 ZeeWeed1500-x 超滤膜操作手册.pdf
- 化学海洋学精品课件-海水中二氧化碳体系各分量的计算.ppt VIP
- 党课讲稿:学习传承雷锋精神,践行宣传使命.docx VIP
- 化学海洋学精品课件-海水二氧化碳分压.ppt VIP
- 《积极分子转发展对象ppt答辩》.ppt VIP
- 化学海洋学精品课件-海洋中磷的生物地球化学循环.ppt VIP
- 再一次看梵高梵高的基本介绍.pptx VIP
- 2025年信息系统安全专家容器与微服务安全专题试卷及解析.pdf VIP
原创力文档

文档评论(0)