美文网首页
如何在代码中进行错误处理

如何在代码中进行错误处理

作者: 若隐爱读书 | 来源:发表于2022-01-03 17:21 被阅读0次

很久之前,许多语言都不支持异常(当前有一些嵌入式设备不支持高级语言),这些语言汇报和处理错误的手段都很有限。甚至需要单独维护一个错误码表,方便开发者或使用者定位问题。高级语言一般都封装了异常方法。通过异常,可以快速而准确的抛出程序所遇到的问题。

def division(a, b):
    if b == 0:
      raise Exception( "Division by zero condition!")
    return a/b

下面是错误处理的几条建议:
1. 给出异常的环境说明
你抛出的每个异常,应该提供足够的信息,用来判断错误的来源和位置。主要就是包括失败的操作与失败类型。类型通常会封装为不同的错误类型,操作应该由错误信息记录。这样方便try-catch模块解析并显示。
2.别返回空值
很多程序员喜欢在异常时返回一个None,实际上,这会导致接下来的每一步都要进行判空处理。

name = student_a.get_name()
if not name:
   # do something

在get_name中,较为方便的做法是,如果无法获取就抛出异常,而非返回一个None。这样可以让程序读起来更加的顺畅,也减少了很多不必要的判断。
3.使用默认值
如果你来封装API,频繁的抛出异常会让开发者的程序走向危险边缘。此时,返回默认值会比抛出异常更方便。我们举个例子,统计学校中的独生子:

total_single_sons = []
for class in classes:
    total_single_sons.extend(class.get_single_son())

上面代码中,get_single_son()函数,如果为空,抛出异常就会使程序打断。此时建议返回[],而非抛出异常。

相关文章

  • 嵌入 WebAssembly 运行时和实例化 WebAssemb

    下面这段代码忽略了错误处理机制,介绍了如何在 Go 语言开发的宿主程序中嵌入 WebAssembly. 这段代码涉...

  • 如何在代码中进行错误处理

    很久之前,许多语言都不支持异常(当前有一些嵌入式设备不支持高级语言),这些语言汇报和处理错误的手段都很有限。甚至需...

  • PHP7扩展开发之类型处理

    前言 这次,我们将演示如何在PHP扩展中如何对类型进行一些操作。如,判断变量类型。要实现的PHP代码如下: 代码 ...

  • 07.错误处理

    在本章我们讨论如何在 Flask 应用中进行错误处理。 本章将暂停为 microblog 应用开发新功能,转而讨论...

  • Flutter & Dart 中的异常处理

    Flutter & Dart 中的异常处理 哪些场景下需要错误处理介入 同步代码 同步代码中,try-catch-...

  • 仅需三步就可以把代码块完美插入到word中

    还在为在word中呈现代码而烦恼吗? 如何在word中插入c++代码? 如何在word中插入代码块? 如何在wor...

  • python 异常处理

    异常就是程序运行错误或者逻辑混乱,返回了错误的代码,为了不让用户看到错误的代码,所以需要对异常的代码进行错误处理 ...

  • Android Fragment的切换

    在主布局中有FrameLayout,如何在代码中对FrameLayout进行切换不同的Fragment呢? 布局文...

  • uibot的python环境详解

    本文主要对uibot creator、worker的python环境,以及如何在ub代码中引入python进行讲解...

  • Swift编程十八(错误处理)

    案例代码下载 错误处理 错误处理是响应程序中的错误条件并从中恢复的过程。Swift为在运行时抛出,捕获,传播和操纵...

网友评论

      本文标题:如何在代码中进行错误处理

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