小编ANK*_*ANK的帖子

try catch中无法获取异常

我的 Program.cs 中的 .net core 3.1 有一个工作人员服务,我有以下代码

public static void Main(string[] args)
{
    try
    {
        CreateHostBuilder(args).Build().Run();
    }
    catch(Exception ex)
    {
        Handler(ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

还有一个工人阶级如下

public class Worker : BackgroundService
{ 
  protected override async Task ExecuteAsync(CancellationToken Token)
  {
    
    do
    { 
     if(condition)
     {
      await _test.GetData();
     }
     await Task.Delay(500,Token);
    }
    while (!Token.IsCancellationRequested);

  }
 }
Run Code Online (Sandbox Code Playgroud)

如果 Task.Delay 首先执行,然后第二次迭代的 GetData() 方法中发生任何异常,则 Main 方法中的 try catch 不会捕获该异常。我怎样才能在我的主要方法中捕获这些异常?

.net c# exception .net-core worker-service

1
推荐指数
1
解决办法
1067
查看次数

标签 统计

.net ×1

.net-core ×1

c# ×1

exception ×1

worker-service ×1