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個字元。