gpt4 book ai didi

design-patterns - 在处理代码中的错误时,是否可以通过调用链将单个 "error"值返回到入口点?

转载 作者:行者123 更新时间:2023-12-03 07:49:51 24 4
gpt4 key购买 nike

我在我的代码中遇到了一些实例,其中有效的用户输入对于正在执行的操作无效(例如为一个没有时间表的员工输入时间表遵守条目,因为他们正在接受培训)。这是允许的操作,但在计算进度遵守报告时会产生错误,这是可以理解的。在此示例中,如果在遵守条目时找不到该员工的时间表,则会引发错误。

在这种情况下,我通常会返回一个对象,该对象封装了条目和时间表上的一些基本数据。如果发生这样的错误,我会返回 -1 ,并且所有处理方法只检查 -1 ,如果找到了,他们也会返回 -1而不是执行他们通常的 Action 。一直回到调用链的开头,预计不会有更多返回,也不会对 -1 采取最终操作。值(value)。

这是处理代码中错误的合适模式吗?如果不是,那么处理这些问题的更好方法是什么?

最佳答案

这是一种方法,但也有缺点:

  • 您需要一路上的每个函数来处理错误
  • 您在处理错误时缺少任何上下文(您不知道为什么在调用函数中发生错误)

  • 更好的方法是使用大多数语言都有的异常/ try catch 机制。它允许您处理您想要的函数中的错误(如果您愿意,甚至可以在顶部),并添加上下文。它也更具可扩展性、健壮性和可读性(每个阅读代码的人都了解异常是什么)。

    关于design-patterns - 在处理代码中的错误时,是否可以通过调用链将单个 "error"值返回到入口点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861214/

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