网站后缀gov,免费入驻的电商平台,如果建手机网站,网站初期如何推广的java中什么时候应用异常Pareto记录原理#xff1a;97#xff05;的记录错误语句是由3#xff05;的唯一错误引起的 在最新的数据整理帖子之后#xff0c;我们收到了很多反馈和问题#xff0c;我们发现97#xff05;的记录错误是由10个唯一错误引起的 。 根据大众的需求97的记录错误语句是由3的唯一错误引起的 在最新的数据整理帖子之后我们收到了很多反馈和问题我们发现97的记录错误是由10个唯一错误引起的 。 根据大众的需求我们将更深入地研究此研究中包含的1,000多个应用程序中的顶级异常类型。 来吧。 顺便说一句这是我们的第一篇推荐配乐 请检查一下自己 无须再做按类型划分的顶级异常 为了提取数据我们从Takipi的错误分析微代理监视的1000多个应用程序中提取了匿名统计信息并检查了每个公司的十大例外类型。 然后我们将所有数据合并得出总的前十名。 每个生产环境都不同研发团队使用不同的第三方库并且拥有自己的自定义例外类型。 从更大的角度看标准异常脱颖而出并且可以看到一些有趣的模式。 真数据 1. NullPointerException – 70的生产环境 是。 臭名昭著的NullPointerException位于1。 空参考文献的发明者查尔斯·安东尼·理查德·霍尔Sir Charles Antony “我称之为我十亿美元的错误。 它是1965年使用空引用的发明……这导致了无数的错误漏洞和系统崩溃在最近40年中可能造成十亿美元的痛苦和损害。” 在我们研究的70的生产环境中NPE排名前十位居第一。 在Takipi 我们实际上有一个特殊的警报每当在系统上引入新的NullPointerException时我们都可以通过它来知道自己的设置 。 塔基皮NPE怪物 2. NumberFormatException – 55的生产环境 在2中是NumberFormatException它在您尝试将字符串转换为数字值并且String格式不正确时发生。 它扩展了IllegalArgumentException该异常也在这里3出现。 一种简单的修复方法是确保您传递给parse方法的输入传递以下正则表达式 对于整数值“-\\ d ” 对于浮点值“-\\ d 。\\ d ” 3. IllegalArgumentException – 50的生产环境 紧随其后的是IllegalArgumentException排在第3位在本次调查的50的生产环境中排名前10位。 IllegalArgumentException实际上使您免于麻烦并在将参数从意外类型传递给方法时抛出该异常。 例如某些需要X类型的方法而您使用Y类型作为参数来调用它。 同样这是由于未检查您作为其他方法的输入发送的错误而导致的错误。 IllegalArgumentException塔基皮怪兽 4. RuntimeException – 23的生产环境 前十个列表中的所有异常对象除Exception外均未选中并扩展了RuntimeException。 但是在4处我们面临着“纯” RuntimeException在Java中该语言实际上并未抛出任何异常。 那么这是怎么回事 有两种主要用例可从您的代码中显式引发RuntimeException 引发新的“通用”未经检查的异常 重新抛出 将一般未经检查的异常“包装”到另一个扩展了RuntimeException的异常周围 取消检查异常 关于已检查与未检查以及我们在此描述的最后一个用例的著名故事来自亚马逊的AWS开发工具包该工具仅会抛出未检查的异常并拒绝使用已检查的异常。 Takipi RuntimeExceptionMonster 5. IllegalStateException – 22的生产环境 在第5名中IllegalStateException是本帖子中涵盖的1000多个应用程序中的22中排名前10位的例外。 当您尝试在不适当的时间使用方法时会抛出IllegalStateException例如……在《 我如何与母亲见面》的第一集中与Ted和Robin在一起的场景。 一个更现实的Java示例是如果您使用URLConnection尝试做一些假设您未连接的操作并得到“ IllegalStateException已连接”。 6. NoSuchMethodException –生产环境的16 这样的方法很混乱 。 在此数据紧缩中有16的生产环境在其前10名中具有NoSuchMethodException。 由于我们大多数人在喝醉的时候不会写代码至少在白天没有这么做这并不一定意味着我们会以为自己看到的东西不那么疯狂。 这样一来编译器就可以在过程的较早阶段捕获这种方式。 当您尝试使用不存在的方法时会引发此异常当您使用反射并从某个变量获取方法名称或者针对某个类的版本进行构建并使用在生产中使用另一种感谢braxuss 。 7. ClassCastException – 15的生产环境 当我们试图将一个类强制转换为另一个非实例的类时就会发生ClassCastException。 15的生产环境将其排在前10位这非常麻烦。 规则是您不能将对象强制转换为不继承对象的其他类。 大自然曾经做过一次当时没人在看这就是我们得到…… Java鼠鹿的方式 。 是的那是一个真实的生物。 8.例外–生产环境的15 在8中所有例外项的母亲Exception DUN DUN DUUUUN 祖母可投掷 。 Java从来不会抛出简单的异常因此这是RuntimeException之类的另一种情况它必须是……您或第三方代码显式地抛出它原因是 您需要一个异常并且懒得指定它的实际含义。 或者…更具体地说由于某种原因您需要引发一个检查异常 9. ParseException – 13的生产环境 解析错误再次发出 每当我们传递字符串以将其解析为其他内容并且未按照应有的格式对其进行格式化时就会被ParseException击中。 笨蛋 在这篇文章中测试的13的生产环境中前十名中都包含此异常这比您想象的要普遍得多。 解决的方法是……再次检查自己。 10. InvocationTargetException – 13的生产环境 Java Reflection领域抛出的另一个异常是InvocationTargetException。 实际上这是一个包装如果在调用的方法中出现问题则将该异常包装到InvocationTargetException中。 要获取原始异常您必须使用getTargetException方法。 我们看到在这篇文章中测试的13的生产环境将其列入前十大例外列表中。 这里的第二种异常类型与Java的反射功能直接相关。 最后的想法 Java异常的世界确实非常丰富多彩令人惊讶的是前10个异常对我们的日志有多大影响。 所有记录的错误中有97来自10个唯一异常。 尝试Takipi并找出您自己的生产环境中最常见的10个例外这仅需几分钟即可开始而且您还将获得修复它们所需的所有数据。 源堆栈状态。 翻译自: https://www.javacodegeeks.com/2016/06/top-10-exception-types-production-java-applications-based-1b-events.htmljava中什么时候应用异常