ASP.NET Core 中的开发人员异常页面如何定制?

来源:这里教程网 时间:2026-02-21 17:27:33 作者:

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 = $@"
                <html>
                <body style='font-family:Arial; padding:20px; background:#f9f9f9; color:#333;'>
                    <h2>自定义开发异常页面</h2>
                    <p><strong>异常类型:</strong>{ex.GetType().Name}</p>
                    <p><strong>消息:</strong>{ex.Message}</p>
                    <pre class="brush:php;toolbar:false;" style='background:#fff; border:1px solid #ccc; padding:10px; margin-top:20px;'>
                        {ex.StackTrace}
                    

相关推荐