gpt4 book ai didi

c# - 从调用异步的 BackgroundWorker 中抛出异常。方法(网络请求)

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:53 24 4
gpt4 key购买 nike

  • 我的主应用程序创建了一个新的 BackgroundWorker X
  • X 的 DoWork 事件处理程序调用我的 Controller 的方法 Y。此方法使用 AsyncCallback 创建 WebRequest(异步)实例和回调。
  • 当响应到达时,回调方法 Z 被调用,内容将被分析。响应可能包含不需要的内容。此时回调 Z 将抛出异常。

我想在我的主应用程序中捕获这个异常。我在 DoWork 和 RunWorkerCompleted 中尝试过,但从那里什么也抓不到。

RunWorkerCompletedEventArgs 中的错误始终为 null。

最佳答案

不知道你做错了什么。但这就像魅力一样。

        BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += (o, s) => { throw new Exception("myMessage"); };
bw.RunWorkerCompleted += (o, s) => { Console.WriteLine(s.Error.Message); };
bw.RunWorkerAsync();
Console.ReadKey(true);

所以这意味着您的异常必须在某处被捕获,从而阻止传播到 BWWorkCompletedEventArgs

关于c# - 从调用异步的 BackgroundWorker 中抛出异常。方法(网络请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2609273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com