错误
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 个字符。