错误

App Center 错误可用于处理应用中的错误,并避免应用程序中出现潜在问题。 本部分介绍如何捕获和报告应用中的错误。 详细了解有关何时以及如何在 官方文档中使用错误的最佳实践。

备注

当前仅在 Xamarin 平台上支持已处理的错误。

常规信息

在应用程序中运行 App Center 时,该服务会报告应用程序生存期内的所有错误。 这些错误会在出现时发送到服务器, (在) 或下次启动应用程序时提供了网络连接。

错误文档中了解有关我们的功能集的详细信息。

集成崩溃 SDK 以开始

若要跟踪 Xamarin 应用中的错误,请在 App Center SDK 中集成 "崩溃" 模块。 请查看我们的 崩溃 SDK 文档 以了解如何执行此操作。

未捕获的错误 (崩溃)

未捕获的错误 (崩溃) 是在 try/catch 块外发生的错误。 默认情况下,当集成 App Center SDK 的故障模块时,App Center 会自动报告这些故障。

在 Try/Catch 机箱内 (错误)

通过 TrackError 在 try/catch 机箱内调用方法,可以控制在发生错误时将哪些信息发送到 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 个字符。