在 Async C# 中处理异常通常使用try-catch块来捕获异常。在异步方法中,可以使用try-catch块来捕获异常,并在catch块中处理异常或者将异常传播到调用方。
下面是一个示例代码,演示了如何在异步方法中处理异常:
public async Task DoSomethingAsync()
{
try
{
// 异步操作
await Task.Delay(1000);
// 抛出异常
throw new Exception("Something went wrong");
}
catch (Exception ex)
{
// 处理异常
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
在上面的示例中,我们使用try-catch块来捕获异步方法中可能发生的异常,并在catch块中处理异常。在catch块中,我们可以记录异常信息、向用户显示错误消息或者执行其他处理逻辑。
另外,如果我们希望将异常传播给调用方,可以使用throw语句将异常重新抛出,如下所示:
public async Task DoSomethingAsync()
{
try
{
// 异步操作
await Task.Delay(1000);
// 抛出异常
throw new Exception("Something went wrong");
}
catch (Exception ex)
{
// 将异常传播到调用方
throw;
}
}
通过使用try-catch块来处理异常,我们可以更好地控制异步方法中可能发生的异常,并提供更好的用户体验。