我需要从azure函数返回服务器错误。
现在,我使用InternalServerErrorResult()
实现相同的功能。它只会发送错误代码,此功能无法发送任何响应/消息。
如何实现异常处理程序,在其中可以使用azure函数中的actionresult
一起发送错误代码和消息
catch (Exception ex)
{
log.LogInformation("An error occured {0}" + ex);
//json = new Response(ex.StackTrace, AppConstants.ErrorCodes.SystemException).SerializeToString();
return (ActionResult)new InternalServerErrorResult();
}
这会在邮递员中返回一个空响应,错误为500
答案 0 :(得分:2)
请注意,这来自Microsoft.AspNetCore.Mvc
命名空间:
var result = new ObjectResult(new { error = "your error message here" })
{
StatusCode = 500
};
基于配置的格式化程序,它将序列化的对象返回给客户端。 对于JSON(默认设置),它将返回以下内容:
{ "error" : "your error message here" }
答案 1 :(得分:0)
要发送带有状态码的消息,可以使用return StatusCode(httpCode, message)
,它是ObjectResult。
例如:
return StatusCode(500, "An error occurred");
您还可以传递一个对象(使用HttpStatusCode枚举的示例):
return StatusCode((int)HttpStatusCode.InternalServerError, json);