共用方式為


Errors

重要

Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。

深入瞭解支持時程表和替代方案。

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 中已處理的錯誤

包含當機 SDK 來處理錯誤,並將其回報給 App Center。 在本課程模組中,您可以使用 方法來追蹤錯誤 TrackError

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

深入瞭解如何使用當機 SDK 來追蹤 Xamarin 中的錯誤,請參閱 損毀 SDK 檔

將其他資訊新增至錯誤攔截

可以量身打造傳送至 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個字元。