`
javatar
  • 浏览: 1699708 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

[摘]防御式编程

阅读更多
摘自:《代码大全》

防御式编程

防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。

关于使用断言:

       用错误处理代码来处理预期会发生的情况,用断言来处理绝不应该发生的状况。

       避免把需要执行的代码放到断言中

       用断言来注解并验证前条件和后条件

       对于高健壮性的代码,应该先使用断言再处理错误

错误处理技术根据所处情况的不同可以做出以下反应:

I.        返回中立值

II.       换用下一个正确的数据

III.      返回与前次相同的数据

IV.     换用最接近的合法值

V.      把警告信息记录到日志文件中

VI.     返回一个错误码

VII.    调用错误处理子程序或对象

VIII.   当错误发生时显示出错消息

IX.      用最妥当的方式在局部处理错误

X.       关闭程序

分享到:
评论

相关推荐

    防御式编程 Defensive Programming.PPT完整版(精品课件)

    防御式编程 Defensive Programming.PPT完整版(精品课件) 大纲: 保护程序免遭非法输入数据的破坏 断言 错误处理技术 异常 隔离程序 辅助调试代码

    防御性编程

    防御性编程是一种编程范式,旨在确保软件即使在遇到意料之外的使用情况时也能够继续正常工作。其核心思想在于减少或消除“墨菲定律”的影响,即任何可能出错的事物最终都将出错。防御性编程技术尤其在软件被恶意或...

    防御性编程之三

    防御性编程是一种软件开发策略,旨在提前预测并防止潜在错误,从而提高软件的稳定性和可靠性。在本主题“防御性编程之三”中,我们将会深入探讨如何在C++编程中利用源码和工具来实现有效的防御性编程。这篇博客文章...

    【善于防守-健壮代码的防御性编程技巧】--《编程匠艺》

    防御性编程:顾名思义,防御性编程是一种细致的,谨慎的编程方法。为了开发可靠的软件产品,我们要谨慎地设计系统的每个细节,便是其能尽可能的“保护”自己,,我们通过明确的代码中增加很多的假设,当假设在现实的...

    防御式测试与人工智能协同发展.pptx

    ### 防御式测试与人工智能协同发展 #### 防御式测试的优势和局限 **优势:** 1. **测试覆盖范围和复杂性** - 防御式测试通过全面考虑各种可能的情景,包括非常规输入和边缘案例,提高了测试的全面性和有效性。 ...

    代码大全之编程基本功

    这些技术覆盖了代码的组织与布局、基本编程习惯以及防御式编程等核心主题。通过深入理解这些知识点,可以帮助开发者编写出更稳定、更易于维护的代码。 #### 核心知识点详解 ##### 一、防御式编程(Defensive ...

    主动防御源代码

    一份C++的源代码!! 系统主动防御源代码

    safe-utils:防御性编程助手方法将改变您的生活

    简单的帮助程序方法,使您无需担心防御性编程即可访问属性。 这个软件包已经在Node.js和浏览器(React风格的应用程序)的生产环境中使用了大约4年,没有出现问题。 safeGet 用箭头函数包装您的访问器,并将其传递...

    简析欺骗式防御技术的价值与应用.pptx

    欺骗式防御技术的价值与应用 欺骗式防御技术是一种利用模拟、伪装或误导手段来对抗网络攻击的技术。通过模拟攻击面或诱导攻击者攻击虚假目标,降低真实系统的暴露风险。欺骗式防御技术能够更准确地检测和识别恶意...

    信息安全技术:SQL注入的防御编程.pptx

    《信息安全技术:SQL注入的防御编程》 在信息安全领域,SQL注入是一种常见的攻击手段,它利用了应用程序对用户输入数据的不恰当处理,允许攻击者执行恶意的SQL命令,从而获取、修改、删除数据库中的敏感信息,甚至...

    浅析主动防御式网络安全技术.pdf

    浅析主动防御式网络安全技术.pdf

    卓然主动防御源码

    主动防御技术是现代安全软件的重要组成部分,它不同于传统的特征码匹配方式,而是通过行为分析、启发式检测、沙箱模拟运行等多种方法来判断程序是否为恶意。在【卓然主动防御源码】中,我们可以期待看到如何实现这些...

    2021-2025年中国编程器设备行业调研及防御型战略咨询报告.pdf

    本报告对2021-2025年中国编程器设备行业进行了深度调研和分析,并提出了防御型战略咨询建议。 首先,报告从企业防御型战略研究的角度出发,概述了研究的原则和方法。提出防御型战略对于企业而言是至关重要的,它...

    C++编程思想(Thinking in C++)完美版pdf

    第2章 防御性编程 第二部分 标准C++库 第3章 深入理解字符串 第4章 输入输出流 第5章 深入理解模板 第6章 通用算法 第7章 通用容器 第三部分 专题 第8章 运行时类型识别 第9章 多重继承 第10章 设计模式 第11章 并发...

Global site tag (gtag.js) - Google Analytics