gpt4 book ai didi

typescript - 即使结果代码为 500,Azure 函数成功状态也为 true

转载 作者:行者123 更新时间:2023-12-04 10:27:46 24 4
gpt4 key购买 nike

我有一个 azure 函数,其中包含一些具有非常基本的 try catch 的逻辑(为简洁起见,缩短了代码)

    try {
// do logic here that can potentially fail
} catch (ex) {
context.log(`Log details about the exception: ${ex.message}`);
context.res = {
status: 500,
headers: {
"Content-Type": "application/json"
},
body: {
message: ex.message
}
};

return;
}

因此,如果在该逻辑期间发生异常,我会处理异常并在 http 响应中优雅地返回并终止应用程序。我希望 azure 函数会将 500 状态代码视为失败(考虑到它们是内部服务器错误),但我的函数仍然被认为已成功执行。考虑到这是一个低容量函数,但对其上下文来说具有很高的重要性,因此我将收到有关所有失败的通知。

什么是明智的错误处理方式?我是否在这里抛出异常而不是简单地返回?

最佳答案

这是azure函数状态检查的内部行为。

1。如果您的代码使用 try catch block 处理错误并手动返回 500,azure 函数会将其视为成功。

2。但是如果错误没有被使用try catch block 的代码处理,则会被标记为失败。

引用this issue了解更多详情。

关于typescript - 即使结果代码为 500,Azure 函数成功状态也为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60560140/

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