溫馨提示×

c# asynccallback怎樣處理錯誤

c#
小樊
100
2024-11-30 11:13:36
欄目: 編程語言

在C#中,異步回調(Async Callback)通常用于處理異步操作的結果。為了處理錯誤,你可以使用Taskasync/await模式。這里有一個簡單的示例,說明如何使用async/await處理異步回調中的錯誤:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        try
        {
            await CallWebApiAsync();
        }
        catch (HttpRequestException e)
        {
            Console.WriteLine("Request error: " + e.Message);
        }
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.Message);
        }
    }

    static async Task CallWebApiAsync()
    {
        using (HttpClient client = new HttpClient())
        {
            // 模擬一個異步回調方法
            HttpResponseMessage response = await client.GetAsync("https://api.example.com/data");

            // 檢查響應狀態碼
            if (response.IsSuccessStatusCode)
            {
                // 讀取響應內容
                string content = await response.Content.ReadAsStringAsync();
                Console.WriteLine("Response content: " + content);
            }
            else
            {
                throw new HttpRequestException($"Request failed with status code: {response.StatusCode}");
            }
        }
    }
}

在這個示例中,我們使用async/await模式調用CallWebApiAsync方法。這個方法使用HttpClient發起一個異步HTTP請求。我們檢查響應的狀態碼,如果請求成功,我們讀取響應內容;否則,我們拋出一個HttpRequestException異常。

Main方法中,我們使用try/catch塊捕獲可能發生的異常。如果發生HttpRequestException,我們打印出請求錯誤信息;如果發生其他類型的異常,我們打印出通用的錯誤信息。

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