Quando o Visual Studio cria o aplicativo de servidor Blazor básico, ele inclui um arquivo Error.cshtml. Pelo que entendi, isso é exibido se houver uma exceção não tratada durante a renderização.
Mas se em MainLayout.razor eu tiver:
<ErrorBoundary>
<ChildContent>
<!-- ... -->
</ChildContent>
<ErrorContent Context="error">
<!-- ... -->
</ErrorContent>
</ErrorBoundary>
Alguma vez será Error.cshtml
exibido? Ou <ErrorContent>
agora trata de todos os casos de onde Error.cshtml
foi exibido anteriormente.
Eu pergunto porque configurei dessa forma e nunca tive a página de erro aparecendo. Então acho que não é usado se <ErrorBoundary>
estiver definido. Mas me preocupo por não ter atingido uma exceção nas circunstâncias em que ela será exibida.
O
<ErrorBoundary>
componente é um novo recurso do .NET 6 que permite lidar com exceções não tratadas em seus componentes Blazor e exibir conteúdo de erro personalizado. OError.cshtml
arquivo é a página de erro padrão para aplicativos ASP.NET Core exibida quando ocorre uma exceção não tratada fora dos componentes do Blazor, como em middleware, controladores ou páginas do Razor².Se você usar o
<ErrorBoundary>
componente em seuMainLayout.razor
arquivo, ele capturará quaisquer exceções não tratadas que ocorram nos componentes filhos e renderizará a<ErrorContent>
barra amarela em vez da barra padrão¹. No entanto, isso não significa que oError.cshtml
arquivo nunca seja usado. Existem alguns cenários em que o componente não consegue lidar com as exceções, como:<ErrorBoundary>
renderização do componente¹.<ErrorBoundary>
próprio componente ou em seus parâmetros¹.<ErrorBoundary>
componente, como um componente de nível superior noApp.razor
arquivo.Nestes casos, o arquivo Error.cshtml será exibido no lugar do
<ErrorBoundary>
componente. Portanto, você não deve remover oError.cshtml
arquivo do seu aplicativo, pois ele ainda é útil para tratar erros que o<ErrorBoundary>
componente não consegue tratar.Espero que isso responda à sua pergunta. Se quiser saber mais sobre o
<ErrorBoundary>
componente e como usá-lo, você pode conferir os seguintes recursos:(1) Tratar erros em aplicativos ASP.NET Core Blazor | Microsoft Aprenda. https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/handle-errors?view=aspnetcore-7.0 . (2) Tratar erros em aplicativos ASP.NET Core Blazor - GitHub. https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/blazor/fundamentals/handle-errors.md .