Blazor 客户端应用程序级别异常处理

2024-01-10

如何全局处理客户端 Blazor 应用程序的应用程序级别异常?


您可以创建一个处理 WriteLine 事件的单例服务。这只会在错误时被触发,这要归功于Console.SetError(this);

public class ExceptionNotificationService : TextWriter
{
    private TextWriter _decorated;
    public override Encoding Encoding => Encoding.UTF8;

    public event EventHandler<string> OnException;

    public ExceptionNotificationService()
    {
        _decorated = Console.Error;
        Console.SetError(this);
    }

    public override void WriteLine(string value)
    {
        OnException?.Invoke(this, value);

        _decorated.WriteLine(value);
    }
}

然后将其添加到ConfigureServices函数中的Startup.cs文件中:

services.AddSingleton<ExceptionNotificationService>();

要使用它,您只需在主视图中订阅 OnException 事件。

Source https://remibou.github.io/Exception-handling-in-Blazor/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Blazor 客户端应用程序级别异常处理 的相关文章

  • python请求:重试直到收到有效响应

    我想知道是否存在重试请求一定次数的常见模式 可能由于服务器错误或网络不良而失败 我想出了这个 并且我愿意在那里找到更好的实现 cnt 0 while cnt lt 3 try response requests get uri if res
  • 如何解决声纳中的 dodgy:unchecked/unconfirmedcast 问题?

    我在下面的代码中通过声纳获得异常 我该如何解决这个问题 建议我 Override public boolean validate BaseInfo infoObject boolean isValid true AckTransferPay
  • Python 中的“finally”总是执行吗?

    对于Python中任何可能的try finally块 是否保证finally块总是会被执行吗 例如 假设我在except block try 1 0 except ZeroDivisionError return finally print
  • @code 内部的代码在 blazor 服务器端的哪里运行?

    这可能是一个愚蠢的问题 但我试图阅读更多有关 Blazor 的内容 但我总是感到困惑 code 据我了解 当你使用 code在客户端 blazor 内部 所有内容都在客户端浏览器本地运行 所以我有几个问题 当您使用 blazor 服务器端时
  • 异常的成本有多高[重复]

    这个问题在这里已经有答案了 你知道java中异常抛出和处理的代价有多大吗 我们就团队中异常的实际成本进行了多次讨论 有些人尽可能避免使用异常 有些人则认为使用异常会导致性能损失被高估了 今天我在我们的软件中发现了以下代码 private v
  • PostgreSQL 自定义异常条件

    当我提出异常时是否可以创建自定义条件 考虑以下示例 BEGIN y x 0 EXCEPTION WHEN division by zero THEN RAISE NOTICE caught division by zero RETURN x
  • Android 中的未知主机异常

    当我运行我的应用程序时 有时 网络突然断开 我 在我的应用程序中出现unknownhostException 在这种情况下 如果我 检查浏览器 出现同样的异常 我不知道为什么互联网 突然断线 仅当我重新启动时它才能正常工作 再次模拟器 如果
  • 在 JavaScript 中扩展 Error 的好方法是什么?

    我想在我的 JS 代码中添加一些东西 并且希望它们成为 Error 的实例 但我也想让它们成为其他东西 在 Python 中 通常会子类化 Exception 在 JS 中应该做什么 In ES6 class MyError extends
  • java字符串索引越界异常

    从类中调用函数时出现以下错误 java lang StringIndexOutOfBoundsException 字符串索引超出范围 1 尽管我使用系统打印来查看我在 substring 函数中传递的输入 但一切似乎都是正确的 函数 isC
  • “引发异常()”和“引发异常”(不带括号)之间有区别吗?

    定义无参数异常 class MyException Exception pass 当提出时 以下之间有什么区别 raise MyException and raise MyException 我找不到任何 它只是一个重载语法吗 简短的回答是
  • 在新表达式中分配内存后是否评估初始化程序?

    考虑代码 auto p new T U std move v 那么初始化器就是U std move v 我们假设T U std move v 不抛出 如果在底层内存分配之后评估初始化程序 则代码是强异常安全的 否则 就不是 内存分配被抛出
  • 间歇性 SQLiteException:dbopen 上不是错误

    在我的应用程序中 我在很多情况下使用数据库 但有一种情况我遇到异常 但不是每次都出现异常 并且可以重现它 还 这种情况仅发生在操作系统版本 2 3 7 和 2 1 update 1 上 代码 public void removeOldOcc
  • 包含多列查询

    当任一列可能为空时 如何使用 LINQ to SQL 搜索多个列 IEnumerable
  • 如何配置 FOSRestBundle 以不干扰自定义异常控制器

    我刚刚将我的 Symfony 2 7 页面更新到 2 8 除了 Symfony 本身之外 许多其他软件包也已更新 FOSRestBundle已从1 4版本更新至2 1版本 更新后CustomExceptionController我配置为Tw
  • 使用 MinGW gcc 4.4.0 增强 thread_interrupted 异常终止(),使用 3.4.5 则正常

    今天我一直在 玩弄 boost 线程作为学习练习 并且我有一个几个月前构建的工作示例 在我被打断并不得不暂时放弃多线程之前 它显示了不寻常的行为 当我最初编写它时 我使用的是 MingW gcc 3 4 5 并且它有效 现在我正在使用 4
  • 检查内部异常的最佳方法?

    我知道有时 innerException 为 null 因此以下操作可能会失败 repEvent InnerException ex InnerException Message 有没有一种快速的三元方法来检查innerException是
  • Haskell 错误处理方法

    毫无疑问 Haskell 中有多种机制来处理错误并正确处理它们 错误单子 要么 也许 异常等 那么为什么用其他语言编写容易出现异常的代码比用 Haskell 感觉更简单呢 假设我想编写一个命令行工具来处理命令行上传递的文件 我想 验证提供的
  • 由于 3rd 方库的位置,启动 Solr cloud 时出错

    我尝试迁移到 Solr 3 1 我的项目使用 Dataimport handler 当我启动 solr 时 它问我找不到 SolrCoreAwar 我将以下文件复制到 lib 目录 apache solr dataimporthandler
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • 如何知道抛出了哪个异常

    我正在对我们的代码库进行审查 有很多这样的陈述 try doSomething catch Exception e 但我想要一种方法来知道 doSomething 抛出了哪个异常 在 doSomething 的实现中没有 throw 语句

随机推荐

  • 签名扫描

    许多防病毒程序使用基于签名的恶意软件检测 这是为 ClamAV 创建签名 http www clamav net doc webinars Webinar Alain 2009 03 04 pdf 考虑到整个文件是恶意软件 我可以理解他们如
  • 如何加载用户.bashrc的RVM部分以在Apache下运行Ruby CGI脚本?

    我在 Ubuntu 12 04 上配置了一个新服务器 并开始使用 RVM 我已经按照我的用户 作为我自己 而不是使用 sudo 作为 root 安装了 RVM瑞安 比格的指南 http ryanbigg com 2010 12 ubuntu
  • R/Stringr 在第 n 次出现“_”后提取字符串,并以第一次出现“_”结束

    使用 R 和 stringr 包 或任何其他与此相关的包 我想在第 n 次出现 后提取字符串 并以第一次出现 结束 例如 df lt c J J HERE jfdkaldjhieuwui blahblah ffd THIS fjdkalfj
  • 如何生成新的GUID?

    我正在开发一个网络服务 需要一个新的GUID 作为对服务内方法的引用传递 我不熟悉C or the GUID object 但需要类似的东西PHP 因此创建一个新对象 根据我的理解 它返回一个empty blank GUID 有任何想法吗
  • 如何避免谷歌条形图中的条形标签重叠?

    我正在创建一个堆积条形图 需要显示堆栈内的标签 但很少有标签被重叠 以供参考image https i stack imgur com gGKG9 jpg 你能帮助我如何避免使用谷歌图表重叠吗 div div
  • if else key 分割 JSON

    我有这个功能 let input Apples Apples 501 82 Apples pos2 502 61 Apples pos3 502 61 Apples 502 16 let output Object keys input r
  • 拖动项目时触发的 click 事件 (Firefox)

    当我单击一个项目时 我可以编辑该字段 这要归功于引导程序可编辑 http vitalets github com bootstrap editable 当我拖放项目时 我可以更改项目的位置 这要归功于jquery ui sortable h
  • PhpStorm 中文件名旁边的神秘数字图标[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不小心按下了 PhpStorm 中的热键 现在我的一个文件名旁边有一个小数字图标 这是什么意思 我该如何删除它 这是一个屏幕截图 这是什
  • 查询在 while 循环中无法正常工作

    我有一个 While 循环 我试图插入 DECLARE CurrentOffer int 121 DECLARE OldestOffer int 115 DECLARE MinClubcardID bigint 0 DECLARE MaxC
  • PHP脚本在特定时间执行

    有没有一种简单的方法可以让 php 脚本在一天中的特定时间执行一些 html 例如 我的主页上有一个标题 有时我希望能够在标题下方添加一些内容 在本例中是一个 iframe 我知道每个人都提到了 cron 作业 但是这将如何工作呢 还有替代
  • 使用 CSS3 过渡的动画 jQuery UI 可排序

    我如何使用 CSS3 过渡 或任何其他方式 来制作jQuery 可排序 http jqueryui com sortable 其行为更像是 iOS 中的列表重新排序 其中列表项在拖动时会平滑地进行动画处理 因此当您拖动时 项会迅速移开 编辑
  • dc.js barChart 第一个和最后一个栏未完全显示

    我有一个条形图d3 time scalex 轴 我每小时显示一些数据 但使用时第一个和最后一个数据点条总是被切成两半centerBar true 当使用centerBar false 最后一个栏完全消失 时间窗口基于数据本身 计算如下 va
  • Apache Spark 中的递归方法调用

    我正在从 Apache Spark 上的数据库构建一个家谱 使用递归搜索来查找数据库中每个人的最终父级 即家谱顶部的人 假设搜索 id 时返回的第一个人是正确的父母 val peopleById peopleRDD keyBy f gt f
  • 给react中的动态数组元素一个图标

    我有一个动态数量的数组 例如 1 2 3 5 7 1 2 3 2 7 8 其中元素代表平台 ID 有助于唯一识别 PlayStation Xbox 等平台 I want to link a react icon https react ic
  • DirectX:如何绘制平滑的 2D 水(基于粒子的水)

    我最近使用粒子 1000 1500 工作 使用斯托克斯方程 进行水模拟 但我的问题是我使用 IDXSprite 它只是使用蓝色纹理四边形 7x7 绘制粒子 看起来不太平滑 是否有任何方法或已知技术来绘制此类系统 使表面看起来光滑 并且水不应
  • 如何更新 ActiveStorage 中的附件 (Rails 5.2)

    我最近将我的项目升级到最新的 Rails 版本 5 2 以获得ActiveStorage 一个处理附件上传到云服务 如 AWS S3 Google Cloud 等 的库 几乎一切都工作正常 我可以上传并附加图像 user avatar at
  • C#:使用具有多个图像的 .ico 文件

    我试图从包含两个图标的 ico 文件中设置 C 中的 TreeView 中的图像 32x32 版本和 16x16 版本 图像正在设置 但 Net 选择 32x32 版本 并将其缩小 看起来很糟糕 而不是选择现成的 16x16 图像 相关代码
  • aspnet core 中的部分视图发布子模型?

    我有一个视图 其中包含包含各种不同部分的选项卡 我将每个选项卡实现为部分视图 有一个 ViewModel 它具有各种子类来填充选项卡中的视图和部分视图 FormCaptureViewModel FormDetailViewModel For
  • C++链接器会自动内联函数(没有“inline”关键字,没有在标头中实现)吗?

    C 链接器是否会自动内联 传递 函数 这些函数未在标头中定义 并且未明确请求通过inline关键词 例如 发生以下情况so often 并且应该always受益于 内联 似乎每个编译器供应商都应该通过链接器通过 内联 自动 处理它 在可能的
  • Blazor 客户端应用程序级别异常处理

    如何全局处理客户端 Blazor 应用程序的应用程序级别异常 您可以创建一个处理 WriteLine 事件的单例服务 这只会在错误时被触发 这要归功于Console SetError this public class ExceptionN