如何正确地在异步方法中引发异常?
public async void Method()
{
if(value)
throw new Exception("Error!");
}
答案 0 :(得分:2)
类似于,但是返回Task
。 await
Task
时,它将在调用者中引发异常。
public async Task DoSomethingAsync()
{
throw new Exception("Error!");
}
await DoSomethingAsync(); // throws
您几乎永远不想使用async void
,因为您将无法等待它完成,获取返回值或引发任何异常。