【发布时间】:2021-10-18 18:16:14
【问题描述】:
我正在学习异步和等待。下面的“catch”没有捕捉到 DoTask 中抛出的异常。假设 DoTask 是我无法更改的第三方方法,我该如何修复它以便 catch 子句捕获异常?
private static async Task DoTask()
{
await Task.Delay(10000);
throw new Exception("Exception!");
}
public static void Main(string[] args)
{
try
{
Task.Run(async () => await DoTask());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine("End");
Console.ReadKey();
}
【问题讨论】:
-
这能回答你的问题吗? How can I call an async method in Main?
标签: c# async-await