【发布时间】:2018-07-02 15:27:59
【问题描述】:
如何在异步方法中正确抛出异常?
public async void Method()
{
if(value)
throw new Exception("Error!");
}
【问题讨论】:
标签: c# asynchronous exception methods throw
如何在异步方法中正确抛出异常?
public async void Method()
{
if(value)
throw new Exception("Error!");
}
【问题讨论】:
标签: c# asynchronous exception methods throw
类似,但返回Task。当你awaitTask时,它会在调用者中抛出异常。
public async Task DoSomethingAsync()
{
throw new Exception("Error!");
}
await DoSomethingAsync(); // throws
您几乎不想使用async void,因为您将无法等待它完成、获取返回值或抛出任何异常。
【讨论】: