共用方式為


錯誤

這很重要

Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。

App Center 錯誤可讓您處理應用程式中的錯誤,並避免應用程式中的潛在問題。 本節會檢查如何攔截並報告應用程式中的錯誤。 深入瞭解正式 檔中的例外狀況使用錯誤時機和方式的最佳做法。

備註

目前只有 Xamarin 平臺支援已處理的錯誤。

一般資訊

在應用程式中執行App Center時,服務會在應用程式的存留期內報告所有錯誤。 這些錯誤會在發生時傳送到伺服器(前提是有網路連線),或下次啟動應用程式時。

想要進一步了解我們的功能組合,請參閱我們的錯誤文檔

整合損毀 SDK 以開始使用

若要追蹤 Xamarin 應用程式中的錯誤,請在 App Center SDK 中整合崩潰模組。 請參閱我們的 損毀 SDK 檔 ,以瞭解如何這樣做。

未攔截的錯誤(當機)

未攔截的錯誤(當機)是在 try/catch 區塊外發生的錯誤。 在整合 App Center SDK 的當機模組時,App Center 預設會自動報告這些當機。

在 Try/Catch 機箱內 (錯誤)

藉由在 try/catch 機箱內呼叫 TrackError 方法,您可以控制在發生錯誤時傳送至 App Center 服務的資訊,並清楚瞭解錯誤和裝置的狀態。

使用 TrackError 方法有許多優點:

  • 以更高的精確度將報表傳送至服務。
  • 使用其他資訊將報表傳送至服務。

追蹤 App Center 中已處理的錯誤

使用 Crashes SDK 來處理錯誤,並將錯誤回報給 App Center。 在本模組中,您可以使用TrackError 方法來追蹤錯誤。

try
{
    int divByZero = 42 / int.Parse("0");
} catch (DivideByZeroException ex){
    Crashes.TrackError(ex);
}

Crashes SDK 文件中,瞭解更多關於如何使用此 SDK 來追蹤 Xamarin 錯誤。

將附加資訊加入錯誤捕捉

可以量身打造傳送至 App Center 的錯誤報告,以提供其他資訊,以進一步瞭解錯誤的內容。 將字串索引鍵/值組的字典傳遞至 TrackError 方法,以達成此目的。 這些屬性是選擇性的。 例如:

try
{
    using (var text = File.OpenText("saved_game001.txt"))
    {
        Console.WriteLine("{0}", text.ReadLine());
        ...
    }
}
catch (FileNotFoundException ex)
{
    Crashes.TrackError(ex, new Dictionary<string,string>{
        { "Filename", "saved_game001.txt" },
        { "Where", "Reload game" },
        { "Issue", "Index of available games is corrupted" }
    });
}

在這裡,完整例外狀況 (例如) 仍在傳送回 App Center 服務,但除此之外,也會建立並傳送包含其他偵錯資訊的字典。

局限性

  • 您可以為每個錯誤定義最多 20 個屬性,超過該限制的任何內容都會遭到拒絕。
  • 每個錯誤屬性索引鍵和錯誤屬性值的最大字元數是 125 個字元。