错误信号的传递方式
在编程中,错误处理是一个至关重要的环节。当错误发生时,我们需要以合适的方式将其信号传递出去,以便程序能够做出相应的处理。错误信号的传递方式大致可分为显式和隐式两类。
显式与隐式错误信号传递
显式错误信号传递方式会强制代码的直接调用者意识到错误可能发生。无论调用者选择处理错误、将其传递给下一个调用者还是忽略它,这都是一个主动的选择,他们几乎不可能对错误的可能性一无所知。而隐式错误信号传递方式虽然也能传递错误,但调用者可以完全忽略它。调用者通常需要主动努力,如阅读文档或代码,才能知道错误可能发生。
以下是显式和隐式错误信号传递技术的示例表格:
| 错误信号传递类型 | 代码契约位置 | 调用者是否意识到错误可能发生 | 示例技术 |
| — | — | — | — |
| 显式 | 明确部分 | 是 | 检查异常、可空返回类型(如果支持空安全)、可选返回类型、结果返回类型、结果返回类型(如果强制检查返回值)、Swift 错误 |
| 隐式 | 文档中的小字部分(如果有记录),否则甚至不在书面契约中 | 可能 | 未检查异常、返回魔术值(应避免)、Promise 或 Future、断言、检查(取决于实现)、恐慌 |
异常回顾
许多编程语言都有异常的概念,异常是代码用于发出错误或异常情况信号的一种方式。当抛出异常时,它会展开调用栈,直到遇到处理该异常的调用者,或者直到调用栈完全展开,此时程序将终止并输出错误消息。异常的实现通常是一个完整的类,语言通常提供一些现成的异常供我们使用,我们也可以自定义异常并封装错误信息。
Java 有检查异常和未检查异常的概念,而大多数支
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



