gpt4 book ai didi

exception - 使用断言或异常按契约进行设计?

转载 作者:行者123 更新时间:2023-12-02 22:11:46 25 4
gpt4 key购买 nike

当通过契约编程时,函数或方法首先检查其先决条件是否满足,然后再开始履行其职责,对吧?进行这些检查的两种最重要的方法是 assertexception

  1. 断言仅在 Debug模式下失败。为了确保(单元)测试所有单独的契约(Contract)先决条件以查看它们是否确实失败至关重要。
  2. 异常在调试和 Release模式下失败。这样做的好处是测试的调试行为与发布行为相同,但会导致运行时性能损失。

您认为哪一个更可取?

查看相关问题here

最佳答案

经验法则是,当您 try catch 自己的错误时应该使用断言,而当 try catch 其他人的错误时应该使用异常。换句话说,您应该使用异常来检查公共(public) API 函数的先决条件,以及每当您获取系统外部的任何数据时。您应该对系统内部的函数或数据使用断言。

关于exception - 使用断言或异常按契约进行设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/117171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com