美文网首页日常刻书
防御式编程(二)

防御式编程(二)

作者: F_wind | 来源:发表于2021-11-14 09:56 被阅读0次

《代码大全2》阅读随笔

错误处理技术

一些系统遇到错误后的指导建议

  • 返回中立值;
  • 换下一个正确数据;
  • 返回前次相同的数据;
  • 换用最近的合法值;
  • 把警告信息记录在日志文件中;
  • 返回一个错误码;
  • 调用错误处理子程序或者对象;
  • 当错误发生时显示出错消息;
  • 用最稳妥的方式在局部处理错误;
  • 关闭程序。

健壮性和正确性

上面指导建议中,一些是属于健壮性的策略,比如返回中立值、下个正确数据或者上个正确数据,一些是属于正确性的策略,比如关闭程序。对于该如何使用这些错误处理技术,需要根据实际使用场景来决定,如果是提款机或者人身性命攸关的软件,那么一定要保证正确性,如果返回值错误,那么此时关闭程序比返回一个错误的结果要更好;如果是游戏渲染程序,那么在未返回正确值的情况下,可以返回一个默认值或者上一个值,以保证程序可以继续运行则更佳。健壮性和正确性是一对截然反的概念。

相关文章

  • 防御式编程(二)

    《代码大全2》阅读随笔 错误处理技术 一些系统遇到错误后的指导建议 返回中立值; 换下一个正确数据; 返回前次相同...

  • 安全编程的实现方式

    借鉴文章 契约式编程与防御式编程 https://segmentfault.com/a/1190000007558...

  • 防御式编程

    最近业余时间在阅读《代码大全》,阅读“防御式编程”章节的时候非常受启发,自己之前对系统的错误处理这块也确实随意了。...

  • 防御式编程

    编写优秀的代码 代码是程序可识别的代码 代码是程序员可识别的代码 防御性编程 防御性编程(Defensive pr...

  • 防御式编程

    防御式编程 在防御式驾驶中要建立这样一种思维,那就是你永远也不能确定另一位司机将要做什么。这样才能够确保在其他人做...

  • 契约式编程与防御式编程

    1. 防御式编程 对于 “防御式编程” ,《代码大全》给我们提供了一个定义: 人类都是不安全、不值得信任的,所有的...

  • 防御式编程EAFP vs LBYL

    防御式编程EAFP vs LBYL EAFP:easier to ask forgiveness than per...

  • 防御式编程(三)

    《代码大全2》阅读随笔 异常 异常是用来在代码中将错误或者异常传递给调用方的一种处理手段,通常有一些合理使用异常的...

  • 防御式编程(一)

    《代码大全2》阅读随笔 保护程序免遭非法输入数据的破坏 通常有三种常见的建议: 检查所有来源于外部的数据的值; 检...

  • 防御式编程(四)

    《代码大全2》阅读随笔 隔离程序,使之包容由错误造成的伤害 隔栏是一种容损策略,其目的也是为了保护程序。通常的做法...

网友评论

    本文标题:防御式编程(二)

    本文链接:https://www.haomeiwen.com/subject/lrbttrtx.html