在异步方法中抛出新异常
Throw new Exception in asyc method
如何在异步方法中正确抛出异常?
public async void Method()
{
if(value)
throw new Exception("Error!");
}
就像那样,但是 return 一个 Task
。当你await
Task
时,它会在调用者中抛出异常。
public async Task DoSomethingAsync()
{
throw new Exception("Error!");
}
await DoSomethingAsync(); // throws
您几乎不想使用 async void
,因为您将无法等待它完成、获取 return 值或抛出任何异常。
如何在异步方法中正确抛出异常?
public async void Method()
{
if(value)
throw new Exception("Error!");
}
就像那样,但是 return 一个 Task
。当你await
Task
时,它会在调用者中抛出异常。
public async Task DoSomethingAsync()
{
throw new Exception("Error!");
}
await DoSomethingAsync(); // throws
您几乎不想使用 async void
,因为您将无法等待它完成、获取 return 值或抛出任何异常。