答案:可通过自定义中间件在开发环境增强ASP.NET Core异常页面,显示详细错误及请求上下文,并确保生产环境禁用以防止信息泄露。

ASP.NET Core 内置了开发人员异常页面(Developer Exception Page),用于在开发环境中显示详细的错误信息。虽然默认页面已经很实用,但你可以通过自定义中间件或包装默认行为来增强其展示效果。
启用开发人员异常页面
在 Program.cs 中确保只在开发环境启用该功能:
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
注意:UseDeveloperExceptionPage() 必须放在管道的早期位置,以便捕获后续中间件中的异常。
自定义异常响应内容
无法直接修改默认页面的 HTML 样式或结构,但可以通过捕获异常并输出自定义格式来实现类似效果。例如,在开发环境下替换默认行为:
if (app.Environment.IsDevelopment())
{
app.Use(async (context, next) =>
{
try
{
await next();
}
catch (Exception ex)
{
context.Response.StatusCode = 500;
context.Response.ContentType = "text/html";
var html = $@"
自定义开发异常页面
异常类型:{ex.GetType().Name}
消息:{ex.Message}
{ex.StackTrace}










