温馨提示×

如何在 Async C# 中处理异常

c#
小樊
96
2024-08-02 13:48:14
栏目: 编程语言

在 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块来处理异常,我们可以更好地控制异步方法中可能发生的异常,并提供更好的用户体验。

0