`

不要依赖代码中的异常

阅读更多
因为异常大大地降低性能,所以您不应该将它们用作控制正常程序流程的方式。如果有可能检测到代码中可能导致异常的状态,请执行这种操作。不要在处理该状态之前捕获异常本身。常见的方案包括:检查 null,分配给将分析为数字值的 String 一个值,或在应用数学运算前检查特定值。下面的示例演示可能导致异常的代码以及测试是否存在某种状态的代码。两者产生相同的结果。
[C#]
// Consider changing this...
try {
result = 100 / num;
}
catch (Exception e) {
result = 0;
}

// ...to this.
if (num != 0)
result = 100 / num;
else
result = 0;
[Visual Basic]
' Consider changing this...
Try
result = 100 / num
Catch (e As Exception)
result = 0
End Try

// ...to this.
If Not (num = 0)
result = 100 / num
Else
result = 0
End If

分享到:
评论

相关推荐

    Delphi异常类型检测依赖性问题示例

     一个Delphi示例,用来说明异常类型检测的依赖性所导致的问题,本示例运行中将弹出异常。  由于在.DLL和.EXE中,两个异常类的名字和实例长度都相等,所以Delphi内核会认为它们是完全相同的两个异常类。  因此,...

    重离子碰撞中电荷依赖的椭圆流的异常流体动力学分析

    我们开发了理想异常流体动力学的数值代码,并将其应用于重离子碰撞的动力学中,预计发生异常输运。 我们讨论了模拟对于异常运输效应可能的实验观察的意义。 通过分析依赖于电荷的椭圆形流动参数(v2±)作为净电荷...

    避免在.NET代码中出现不恰当依赖

    在如何至始至终保持代码的可维护性方面我给.NET开发者团队的最好建议是:将应用程序中的每个命名空间都当作组件看待,同时确保组件之间不存在依赖环。 通过遵守这条简单的原则,大型应用系统的结构就不会陷入大块...

    【Spring整合Mybatis配置及测试代码】

    MyBatis-Spring 会帮助你... 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。

    代码生成器-可自定义模版-guns

    1. 基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。 2. 完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,...

    matlab精度检验代码-ADCSF:视频异常事件检测-视频监控

    此代码用于检测视频中的异常事件检测(抢劫,事故,车祸等)。 指令划分如下: 所需的依赖项 数据集 内容 演示版 用法 注意事项 ================================================== =============================...

    minio使用,poi解析,uid生成工具,策略工厂模式,模板管理完整功能,swagger集成,跨域,异常处理,分页等可用源代码

    lombok、log4j2、validation、hutool、commons-lang3、fastjson、poi、knife4j依赖swagger、mysql driver、druid、mybatis及代码生成相关依赖、spring-aop(aspectjweaver)、pagehelper、minio、commons 实现功能...

    Spring 解决循环依赖的 3 种方式.docx

    第一种:构造器参数循环依赖 ...因此如果在创建Bean过程中发现自己已经在“当前创建Bean池”里时将抛出BeanCurrentlyInCreationException异常表示循环依赖;而对于创建完毕的Bean将从“当前创建Bean池”中清除掉。

    论文研究 - 密码子中依赖mRNA的核苷酸的虚拟-真实替代:其在基因组语言中含义的动态变化

    这是试图解释蛋白质生物合成过程中密码子组成中密码子(三胞胎)和核苷酸(字母)的mRNA依赖性非平稳语义值。 通过比较各种生物系统分类单元的不同蛋白质代码,并将线粒体代码与标准代码进行比较,可以实现这一解释...

    matlab解压代码-CP-Outliers:通过约束编程的异常值描述

    matlab解压代码通过约束编程的异常值描述 存储库中的代码实现了我论文中提出的模型。 该模型旨在识别一个特征子空间,其中一组给定的已知异常值的邻居很少,而所有正常实例都有很多邻居。 我们通过一个关于基准文本...

    C++代码设计与重用

    5.1 可重用代码中的错误 5.2 错误检测 5.2.1 函数前提条件 5.2.2 表示不变性 5.3 处理错误 5.3.1 程序库变量 5.3.2 解决问题 5.3.3 程序退出或者程序终止(Exit or Abort) 5.3.4 抛出异常 5.3.5 返回错误...

    Java异常处理机制

    java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。  try 关键字后紧跟一个花括号括起来的代码块,简称try块。同理:下面的也被称为相应的块。  它里面可置引发异常的代码。catch后...

    依赖代码的学生

    训练营课程日志中的异常检测 该项目基于以下电子邮件中提出的方案: 你好, 在周四上午的董事会会议之前,我有一些问题需要解答。 我需要能够谈以下问题。 我还需要一张幻灯片,可以将其合并到现有演示文稿...

    轻量级覆盖率测试工具logcover.zip

    例如: 源代码中有100处异常日志(warning、fatal、error)打印点,程序在测试过程中,产生了100条日志,对应源代码中50处日志打印点,则异常日志覆盖率是50%,同时,logcover会给出覆盖日志和未覆盖日志的所有信息,...

    ssm 自动生成代码

    ssm 自动生成代码 springMVC mysql mybatis 采用的是mybatis-plus ,这是是一个工具,我的主项目里并不依赖mp~ 下载下来自动生成增删改查,从表-po-serviec-serviceimpl-controller,定义的全局异常类,大家可以酌情...

    微信小程序开发中经常见的问题和解决方法

    即使js文件里没有任何代码,也需要在js里添加一个空的 Page({ })。注意Page的P要大写。 2:出现“Expecting ‘String,‘Number,‘NULL,‘True....’”’’的错误提示。 (此图片来源于网络,如有侵权,请联系...

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    魔法值是指程序中随意定义并赋值的变量值,如果代码编写者明白变量值意义是可以任意使用的,例如在代码中写if(status == 3) return error;符合规范。 C .如果变量值仅在一个范围内变化推荐用Enum类。 D .在程序...

    一款非常好的WPF编程宝典2010 源代码

    16.5.4 获取异常列表 445 16.5.5 显示不同的错误指示符号 446 16.6 结束语 449 第17章 数据模板、数据视图 和数据提供者 451 17.1 数据绑定回顾 451 17.2 数据模板 452 17.2.1 分离和重用模板 454 17.2.2 更...

    NetworkAnomalyStorm:流网络数据异常检测系统

    流网络数据中的异常检测 在Apache Storm中实现一个系统,该系统能够检测动态网络环境中的流网络数据异常。 该系统使用2004年Ide&Kashima论文“计算机系统中基于特征空间的异常检测”中说明的无监督机器学习技术作为...

Global site tag (gtag.js) - Google Analytics