gpt4 book ai didi

c# - Azure Function 应该在错误时记录或抛出异常吗?

转载 作者:行者123 更新时间:2023-12-03 16:26:21 24 4
gpt4 key购买 nike

我的 Azure 函数(Http 触发器)可能会失败。我还为其配置了 Application Insights。

如果出现错误(哪个更好):

  1. 捕获异常,用更多信息包装并重新抛出它。 (发送 500 响应)或
  2. 捕获异常,记录它,包装它,重新抛出给调用者。 (发送 500 响应)或
  3. 捕获异常,记录它(不要抛出它),手动发送 500 响应。

Application Insight 能够记录异常。我真的不认为同时记录错误和抛出异常有什么意义。

指导方针是什么?什么是好的做法?

最佳答案

根据我使用 Python 构建 HTTP 触发的 azure 函数的经验,我注意到:在处理异常然后手动将某些内容返回给客户端时,您确实可以控制函数返回值,但框架将函数的工作标记为“成功”,这使得在 Application Insights 中跟踪和监控变得更加困难。

对于你的问题,我最终得到了一个混合了 1 和 3 的 catch 子句即一种混合方法,我尝试识别异常的起源,然后对于我的代码中的异常,我将其包装并返回 500,对于源 self 正在使用的代码的其他异常,我重新抛出它们并让Azure 函数框架返回 500 并将函数的作业标记为“失败”。

关于c# - Azure Function 应该在错误时记录或抛出异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58819531/

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