You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Server:blazor-error-ui 何时会显示?

关于blazor-error-ui显示时机的疑问与解答

问题描述

我对blazor-error-ui的实际工作机制略有困惑。我知道它默认会通过CSS的display: none样式隐藏,但尝试在应用中触发错误时,始终无法让它显示。

根据Blazor官方文档:

blazor-error-ui元素通常因站点样式表中blazor-error-ui CSS类的display: none样式而隐藏……发生错误时,框架会将该元素的display设为block。

文档说明错误发生时blazor-error-ui的display属性会被设为block,但我抛出异常时会跳转到开发者异常页面,完全不会显示该div;若将环境设为Release,则会跳转到/Error页面。那么blazor-error-ui div到底何时才会显示?是Blazor自身发生内部错误时吗?

解答

blazor-error-ui的触发场景是Blazor应用初始化阶段发生的无法恢复的启动错误,和业务代码运行时抛出的异常处理逻辑完全分开:

  • 当Blazor框架在启动过程中(比如加载核心框架脚本失败、初始化根组件出错、配置项加载异常等)出现问题,导致应用根本无法正常启动,此时框架会自动将blazor-error-ui的display设为block,展示这个错误提示元素。
  • 你在业务代码中主动抛出的异常,属于应用运行时错误,开发环境会触发开发者异常页面,生产环境则跳转到/Error页面,这类错误不会触发blazor-error-ui的显示。

举个简单的测试方法:如果是Blazor Server项目,修改_Host.cshtml中的Blazor框架脚本引用路径为错误地址,让框架无法加载核心脚本;如果是Blazor WebAssembly项目,修改index.html中的对应脚本路径。此时应用启动失败,blazor-error-ui就会自动显示出来。

内容的提问来源于stack exchange,提问作者micka190

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:40:40