2020年第二季度全球5G用户数量翻了一番
|
这里我只是编写了一段最简单的反射代码,竟然有6个异常要等着我去处理。其中每个异常代表什么意思我也没能完全搞明白,与其我自己去写一大堆的try catch代码,还不如直接将所有异常都抛出到上一层得了,这样代码看起来还能清爽一点。 你是这么想的,上一层的人也是这么想的,更过分的是,他可能还会在你抛出异常的基础之上,再增加一点其他的异常继续往上抛出。 根据我查阅到的资料,有些项目经过这样的层层累加之后,调用一个接口甚至需要捕获80多个异常。想必调用这个接口的人心里一定在骂娘吧。你觉得在这种情况下,他还能耐心地对每一种异常类型都细心进行处理吗?绝对不可能,大概率可能他只会catch一个顶层的Exception,把所有异常都囊括进去,从而彻底地让Checked Exception机制失去意义。又或者,他可能会在当前异常抛出链上再加一把火,为抛出100个异常做出贡献。。。 最终我们可以看出,Java的Checked Exception机制,本身的设计初衷确实是好的,而且是先进的,但是却对程序员有着较高的编码规范要求。每一层方法的设计者都应该能清楚地辨别哪些异常是应该自己内部捕获的,哪些异常是应该向上抛出的,从而让整个方法调用栈的异常链都在一个合理和可控的范围内。 然而比较遗憾的现实是,绝大多数的程序员其实都是做不到这一点的,滥用和惰性使用CE机制的情况广泛存在,完全达不到Java本身设计这个机制所预期的效果,这也是Kotlin取消Checked Exception的原因。 / 没有CE不会出现问题吗? / 许多Java程序员会比较担心这一点,Kotlin取消了Checked Exception机制,这样不会导致我的程序变得很危险吗?每当我调用一个方法时,都完全不知道这个方法可能会抛出什么异常。 首先这个问题在开头已经给出了答案,经过两年多的实践发现,即使没有Checked Exception,Kotlin开发出的程序也并没有比Java开发的程序出现更多的异常。恰恰相反,Kotlin程序反倒是减少了很多异常,因为Kotlin增加了编译期处理空指针异常的功能(空指针在各类语言的崩溃率排行榜中都一直排在第一位)。 那么至于为什么取消Checked Exception并不会成为导致程序出现更多异常的原因,我想分成以下几个点讨论。 第一,Kotlin并没有阻止你去捕获潜在的异常,只是不强制要求你去捕获而已。 经验丰富的程序员在编写程序时,哪些地方最有可能发生异常其实大多是心中有数的。比如我正在编写网络请求代码,由于网络存在不稳定性,请求失败是极有可能发生的事情,所以即使没有Checked Exception,大多数程序员也都知道应该在这里加上一个try catch,防止因为网络请求失败导致程序崩溃。
另外,当你不确定调用一个方法会不会有潜在的异常抛出时,你永远可以通过打开这个方法,观察它的抛出声明来进行确定。不管你有没有这个类的源码都可以看到它的每个方法抛出了哪些异常: 如何查清资金流向?承办检察官根据犯罪嫌疑人口供和公安机关提供的审计报告,再结合鉴定报告,逐一核查涉案数字货币去向。在这一过程中,承办检察官发现有450个比特币不知去向。而这450个币的原始持有者——陆某某始终辩称“助记词忘记了,无法找回”。经过全面梳理陆某某、陈某某、刘某等人口供,发现450个币的最终去向均指向了一个人——陆某某的弟弟陆某龙。 陆某龙在币圈有一定知名度,曾是“币知财经”的创始人。由丁某推荐加入,负责平台推广、对外宣传。按照2019年6月市值来算,这450个比特币合计人民币4000余万元。 承办检察官分析,陆某龙姐弟“玩转”币圈多年,深谙币圈之道,加之价值之大,不可能犯这么低级的错误。遂引导公安机关以陆某龙为中心,辐射其周边人,对他们的通讯设备以及钱包账户地址进行实时监控。 后经多次审查,成功追回200多个比特币和10万多个柚子币(由其转移的249个比特币兑换而成),合计价值人民币近3000万元(行情变化)。 面对翻供,公诉人从容应对 由于涉案人员多、金额大,证人证言纵横交叉,为了实现精准打击,盐城经开区检察院积极联合上级院、公安、法院进一步统一执法尺度,凝聚办案共识;同时,在庭前围绕案件定性和主从犯地位区分两个方面,形成3万余字的出庭预案材料,准备了60多项应对意见。 今年7月2日,该案开庭审理,3名公诉人出庭,而辩护律师有14名。 庭上,丁某面对检察机关指控的犯罪事实全盘翻供:“我对指控我策划品牌有异议。陈某只是跟我咨询App信息,没有告诉我层级模式,我不知道这是传销。” 公诉人结合案件事实,运用精心设计的讯问提纲,与丁某当庭质证:“你账号下面的336个会员是谁发展的?这336个账号就没有一个人投钱吗?”“我不知道。” 公诉人继续问道:“郑某、王某虎、陆某龙他们在平台里具体分工是什么?”“郑某负责平台维护、技术开发,王某虎后来接替郑某做技术开发,陆某龙负责推广Plus。”“ 他们是怎么加入的?”“ 是我介绍给陈某的。” …… 公诉人又出示了丁某与陈某的微信聊天记录,证实“PlusToken”平台名称、组织架构、奖励机制、运营机制等关乎发展的关键部分均由丁某和陈某商议策划。 丁某仍坚持辩称“我只是普通成员”,但随着庭审的推进,他组织、领导传销活动的犯罪事实暴露无遗。
公诉人对丁某和另外4名翻供的被告人的量刑建议刑期,均被法院采纳。丁某最终被判处八年零八个月有期徒刑,并处罚金人民币400万元。 (编辑:烟台站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



