0

如何处理 blazor 服务器 razor 组件中未处理的异常,在页面模型中,我正在处理 try catch 块,但一些错误来自 razor 文件和电路中断,应用程序停止。请建议我解决此问题的解决方案。

4

1 回答 1

0

我读了很多关于这个问题的文章,我发现现在没有办法为 blazor 进行全局错误处理,你可以像这样处理与 http 请求相关的错误:

if (!response.IsSuccessStatusCode)
        {
            var statusCode = response.StatusCode;
            switch (statusCode)
            {
                case HttpStatusCode.NotFound: _navigation.NavigateTo("/Notfound", true);
                    break;
                case HttpStatusCode.Unauthorized: _navigation.NavigateTo("/Error");
                    break;
                default: _navigation.NavigateTo("/Error");
                    break;
            }
            throw new ApplicationException($"Reason: {response.ReasonPhrase}");
        }

您还需要小心在 blazor 组件中使用 try catch 和一些探针 [inject] 因为您的 blazor 电路可能会失败!您可以在microsoft 文档中阅读有关此内容的更多信息,如果我错了,请更正。

于 2021-01-08T14:00:04.730 回答