范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

设计模式Exception设计

  1. Java异常分类
  Java异常顶层是 Throwable   , 下来分为了Exception   和Error   , 这个是JDK源码包的范畴 , 不代表第三方包的规则,Throwable
  The Throwable class is the superclass of all errors and exceptions in the Java language.
  Throwable是Java语言异常的超类
  For the purposes of compile-time checking of exceptions, Throwable and any subclass of Throwable that is not also a subclass of either RuntimeException or Error are regarded as checked exceptions.
  为了在编译时检查异常, Throwable和任何 未被申明RuntimeException或Error的子类   的Throwable子类都被视为被检查的异常对象。
  Error
  其中 Error 更多的表现为JVM内部异常, 可以称之为系统异常, 为Java程序不可处理的异常 , 不可用try-catch语句抓取  的 , 比如常见的StackOverflowError  (栈内存溢出) 和OutOfMemoryError   (堆内存溢出)这两种很常见, 其他的还有很多,Exception
  这个就是我们常见的异常的超级父类了, 他为程序可以抓取的异常 ,此时可能表现在
  The class Exception and any subclasses that are not also subclasses of RuntimeException are checked exceptions.
  程序会自动检测非 RuntimeException   的Exception  的子类, 并且提示错误
  Checked exceptions need to be declared in a method or constructor"s throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
  这些异常必须在 方法  上或者构造方法  上用throws声明抛出去 ,
  以上就是我们常见的两大父类对象 2. RuntimeException
  RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine. RuntimeException and its subclasses are  uncheckedexceptions  . Unchecked exceptions do not need to be declared in a method or constructor"s throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
  RuntimeException 是在JVM正常运行期间可以抛出的异常的超类 .
  RuntimeException及其子类是未检查异常。
  未检查的异常不需要在方法或构造函数的抛出子句中声明, 如果它们可以由方法或构造函数的执行抛出并传播到方法或构造函数边界之外。      public static void main(String[] args) {         try {             testError();         } catch (Exception e) {             System.out.println(e.getMessage()); // 会输出 error         }     }      static void testError() throws Exception{         error();     }      static void error(){         try {             int i = 1 / 0;         } catch (Exception e) {             throw new RuntimeException("error");         }     }
  异常会具有传递性, 类似于 trace一样, 出现后会找到你throws那里 , 所以不怕断链, 3. 构造方法protected Throwable(String message,                     Throwable cause,                     boolean enableSuppression,                     boolean writableStackTrace)Constructs a new throwable with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.  Ifsuppression isdisabled,getSuppressed forthisobjectwill returna zero-length array andcalls to addSuppressed that would otherwise append an exception to the suppressed list will have noeffect.   If the writable stack trace is false, this constructor will not call fillInStackTrace(), a null will be written to the stackTrace field, and subsequent calls to fillInStackTrace and setStackTrace(StackTraceElement[]) will not set the stack trace. If the writable stack trace is false, getStackTrace will return a zero length array.
  Note that the other constructors of Throwable treat suppression as being enabled and the stack trace as being writable. Subclasses of Throwable should document any conditions under which suppression is disabled and document conditions under which the stack trace is not writable. Disabling of suppression should only occur in exceptional circumstances where special requirements exist, such as a virtual machine reusing exception objects under low-memory situations. Circumstances where a given exception object is repeatedly caught and rethrown, such as to implement control flow between two sub-systems, is another situation where immutable throwable objects would be appropriate.
  主要是知道 writableStackTrace   当设置为 true的时候会追踪到出现异常的源头 , 而不是我们手动抛出的地方
  默认是 false. 4. 设计异常
  一般来说 ,我们的最内部的核心接口(或者抽象方法)最好继承与 Exception   , 如果外部我们已经知道我们自定的异常了 , 那么内部处理的异常可以使用RuntimeException   ,
  对于用户不知道的操作,最好申明异常, 对于接口的定义全部要 throws   抛出异常 , 让使用者来处理 , 而不是你来处理 , 对于程序停止的 , 异常对于程序有正常运行有影响需要使用e.printstack   , 最好打印出去, 然后使用Runtime.getRuntime().   hook 或者 exit 都可以 强制停止 ,5. 总结
  对于异常设计上 , 一般对于我们比如说没人帮我们去抓取异常, 此时就用throws,

煮熟鸭子飞了!山东新星投奔刘维伟内讧再度展开巩大师早有预言今年夏天山东队按下了重组加速键,在王晗的带领下,各种大手笔的操作应运而生。首先在后卫防线签下了高诗岩杨林祎以及张辉三名球员,这就保证了山东队在未来35年内后卫防线拥有绝对的竞争力。研究揭示天山造山带陆内变形机制陆内造山带是指发育在大陆板块内部远离汇聚板块边缘的造山带,其形成与演化涉及板块内部应力远程传递大陆岩石圈流变特性等基本科学问题。天山造山带作为中亚造山带塔里木哈萨克斯坦拼贴系的主体POWERDAO算力界的灰度前言当前,新一轮科技革命和产业变革正在重塑全球经济结构,算力作为数字经济时代新的生产力,是支撑数字经济发展的坚实基础,对推动科技进步促进行业数字化转型以及支撑经济社会发展发挥重要的台积电警告,低端芯片出现短缺由于诸多因素的影响,今年下半年芯片的价格开始出现暴跌。更有报道说芯片从2021年的200元价格暴跌到了20元。出现了芯片产能过剩,企业大量砍单的现象。大家都在潜意识里面有一个认知就从3999跌至3489元,三星E5屏256GB蔡司影像,友商真香天玑9000很长一段时间以来,每次提到搭载联发科处理器的手机,很多网友都表示再见。但是今年以来,联发科发布的芯片,口碑都不错,都深受厂商和用户的喜爱,在上半年的安卓旗舰机中,联发科旗下的高端芯京东快递滞留中,谁动了他的苹果?牛老板反映,五月份通过京东快递邮寄电脑给上海的客户,电脑一直没到,说是滞留了。后来他发现,电脑被激活了。视频京东快递滞留后退回,苹果为何激活了?牛老板我是电商卖家,在网上卖苹果的产差价最高9000元,华为Mate50系列怎么选?配置详细对比一文看懂华为旗舰过几天就要上架了,有不少粉丝问我,买12999元的顶配版,影不影响他吃5块钱的泡面?我觉得是有影响的,因为你买了,可能就吃不起泡面了。本次华为Mate50系列共有四款型号,2022。9。8学习笔记1做什么事一定要有核心竞争力,京东有物流,没支付淘宝有支付,没物流腾讯有支付,有廉价流量,没有物流pdd啥也没有,但有腾讯支持解决了支付问题每日优鲜走到今天这一步烧出巨大的历史债务45张图带你从入门到精通学习WireShark你好,这里是网络技术联盟站。前几天文章中我们介绍了常用的抓包工具,有朋友表示用WireShark场景比较多,想让我写一篇有关WireShark详细的文章,那么今天瑞哥安排!一什么是家电走衰!白电三雄,谁成真熊?作者星空下的锅包肉编辑菠菜的星空排版星空下的柠檬水今年上半年,家电行业形势依旧严峻。国内销售规模3609亿,同比下降11。2。出口规模2833亿,同比下降8。2。这背后,一方面是因突发,乐视重出江湖但可能还欠200亿种种迹象表明退隐3年后,乐视又重出江湖,貌似过上了小康日子。今天,赶在苹果发布会的同一日,乐视也开了场发布会透露业务进展良好,今年上半年新增用户300万,新上电影电视剧400余部。
无缝衔接DD4,性价比王者,微星迫击炮B760MMORTRARMAXWIFIDDR4随着英特尔第13带酷睿系列处理器的上市,相信很多人已经考虑升级平台了。新U采用混合架构,10nm工艺,缓存更大频率更高,性能提升明显。为了匹配新处理器,主板方面目前性价比比较高的就下一代Qi2无线充电标准将以AppleMagSafe磁吸技术为基础Apple在2020年推出iPhone12时,也带来全新的MagSafe无线充电技术,它的好处就是直接磁吸对位,完全不用担心手机放在无线充电盘上,却没有充到电的窘境。现在无线充电联宋紫薇这次也无能为力了,iQOONeo7竞速版对比红米K60头条创作挑战赛现如今手机比拼的已经不仅仅是手机本身的实力和配置了,还得看品牌,得看产品经理。在目前整个手机行业中,产品经理最火的应该就是iQOO的宋紫薇了吧,也正是因为她,才使得i京东年货节总裁砍价活动上线爆款低价保障服务让利消费者2023年京东年货节于12月29日晚8点全面开启。今年年货节,京东以过年还得是京东为主题,通过跨店每满300减40每满1000减60等优惠,让消费者实惠备年货,实在过新年。优惠不仅OTA巨头同程旅行豪掷10亿投资五家公司,旅游度假市场复苏了吗?本文来源时代财经作者钟黛图片来源图虫创意旅游业复苏预期提升,同程旅行披露多笔投资,获得更强的供应链及服务能力。12月29日晚间,同程旅行(0780。HK)公告,一年内已就投资五家公暑假15天快乐自驾大北疆(第6天禾木克拉玛依魔鬼城)禾木的晨雾最为有名。7月18日早晨,不到530,我和夫人就整装出发,去观景台看晨雾中的村庄,留下孩子在客栈睡觉。在禾木几乎每天清晨都会有晨雾,所以它成为了禾木最有特色的名片。然而因关于出入境国际航班留学旅游这些措施明年1月8日起实施网站截图12月27日,国务院应对新型冠状病毒感染疫情联防联控机制外事组发布关于中外人员往来暂行措施的通知。全文如下关于中外人员往来暂行措施的通知各省自治区直辖市及新疆生产建设兵团应医巫闾山道隐谷从义县城出发,东北行,至冷家沟,下公路再沿山间小路东行,过五间房屯,步步登高,盘旋而上,约四公里,便可登上顶峰,抵达望海峰。称望海山,海拔866。6米。站此峰顶,可遥望渤海,晴日可回望2022,跌宕三年的旅游业将迎来新生年度产业观察2023年元旦假期即将来临。这是新冠疫情三年以来,人们不再需要担忧临时封控,阳康们也卸下心理压力,追寻诗和远方。新冠更名并归为乙类乙管,机票酒店目的地等与旅游相关的热词搜索量快速飙大平原(二百九十五)夏夜游彩虹湖夏夜游彩虹湖文邱杰东从我住的小区,出门左拐,不用过马路,走50米就可以看到彩虹湖了。彩虹湖是滨州四环五海七十二湖之一,七十二湖我记不全。印象最深,感觉最好的,要数彩虹湖和白鹭湖。白10座被名字耽误的城市,山东河南河北各占俩,有你家吗?一座城池的名字,承载着一个城市的文化和历史。有的城市因为名字好听且有内涵,成为了旅游胜地和经济发达地区有些城市的名字本来挺带感,但由于各种历史原因进行了改名,最终成为了几乎没有存在