Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Antes ASP.NET Core 5.0, o Middleware do Gestor de Exceções executa o gestor de exceções configurado quando ocorre uma exceção. Se o manipulador de exceções, configurado via ExceptionHandlingPath, não for encontrado, é produzida uma resposta HTTP 404. A resposta é enganadora porque:
- Parece ser um erro do utilizador.
- Oculta o facto de ter ocorrido uma exceção no servidor.
Para corrigir o erro enganador no ASP.NET Core 5.0, ExceptionHandlerMiddleware lança a exceção original se o manipulador de exceções não for encontrado. Como resultado, o servidor produz uma resposta HTTP 500. A resposta será mais fácil de examinar nos registos do servidor ao depurar o erro que ocorreu.
Para discussão, veja o issue do GitHub dotnet/aspnetcore#25288.
Versão introduzida
5.0 RC 1
Comportamento antigo
O Middleware do Gestor de Exceções produz uma resposta HTTP 404 se o gestor de exceções configurado não for encontrado.
Novo comportamento
O Middleware do Gestor de Exceções lança a exceção original se o handler de exceções configurado não for encontrado.
Motivo da mudança
O erro HTTP 404 não torna óbvio que houve uma exceção no servidor. Esta alteração produz um erro HTTP 500 para tornar óbvio que:
- O problema não é causado por um erro do utilizador.
- Foi encontrada uma exceção no servidor.
Ação recomendada
Não há alterações na API. Todas as aplicações existentes continuarão a compilar e a correr. A exceção lançada é tratada pelo servidor. Por exemplo, a exceção é convertida numa resposta de erro HTTP 500 por Kestrel ou HTTP.sys.
APIs afetadas
Nenhum