我创建了一个带有 HTTP 触发器的 Azure 函数。我希望将详细的错误信息返回给调用者。有没有办法处理未捕获的异常?奇怪的是,Azure Functions 在 Visual Studio 中运行时确实返回详细的错误信息,但在部署时却不会。
[FunctionName("MyAzureFunction")]
public static async Task<HttpResponseMessage> RunAsync(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage httpRequest,
TraceWriter traceWriter,
CancellationToken cancellationToken)
{
try
{
var response = await ProcessAsync(request, cancellationToken);
return httpRequest.CreateResponse(HttpStatusCode.OK, response);
}
catch (ArgumentException ex)
{
traceWriter.LogWarning($"Argument error: {ex}");
return httpRequest.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
}
catch (Exception ex)
{
traceWriter.LogError($"Error: {ex}");
throw;
}
}
Run Code Online (Sandbox Code Playgroud)