溫馨提示×

c#異步調用如何處理異常

c#
小樊
97
2024-11-30 23:07:53
欄目: 編程語言

在C#中,異步方法中的異常處理與同步方法略有不同。當異步方法拋出異常時,它不會自動傳播到調用者那里。為了處理這些異常,你需要使用asyncawait關鍵字,并使用try-catch塊來捕獲異常。下面是一個示例:

using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        try
        {
            await CallAsyncMethod();
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }

    static async Task CallAsyncMethod()
    {
        await Task.Delay(1000); // 模擬異步操作
        throw new InvalidOperationException("An error occurred in the async method.");
    }
}

在這個示例中,CallAsyncMethod是一個異步方法,它拋出了一個異常。在Main方法中,我們使用try-catch塊來捕獲并處理這個異常。當CallAsyncMethod拋出異常時,它會被catch塊捕獲,并輸出錯誤信息。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女