AMAErrorRepresentable 协议

用于AppMetrica发送的错误协议。

每个实现该协议的类实例都必须有一个ID。 AppMetrica 使用 ID 来对错误进行分组。

所有发送的错误信息都可以在 AppMetrica 报告中查看。

您可以实现此协议来发送自定义错误。 您也可以使用默认的 AMAError 实现。

Properties

identifier

Error ID. AppMetrica 用它来对错误进行分组。

消息

任意错误描述。

参数

附加的错误参数。

回溯跟踪

自定义错误回溯。 你可以使用 NSThread.callStackReturnAddresses 方法获取它。

underlyingError

匹配 AMAErrorRepresentable 协议的错误实例。

Property descriptions

identifier

@required
@property (readonly, copy, nonatomic) NSString *_Nonnull identifier;

Error ID. AppMetrica 用它来对错误进行分组。

最大值长度为300个字符。 如果值超出限制,AppMetrica 会截断它。

备注

AppMetrica 不使用嵌套错误 (underlyingError) ID 进行分组。

message

@optional
@property (readonly, copy, nonatomic, nullable) NSString *message;

任意错误描述。

最大值长度为1000个字符。 如果值超出限制,AppMetrica 会截断它。

parameters

@optional
@property (readonly, copy, nonatomic, nullable) NSDictionary<NSString *, id> *parameters;

额外的错误参数。

参数以键值对的形式表示,其中键和值都是字符串。 如果键或值不是字符串类型,AppMetrica会自动调用description方法。

参数的最大数量为50。 键的最大允许参数长度为100个字符,值的最大允许长度为2000个字符。 如果值超出限制,AppMetrica 会截断它。

backtrace

@optional
@property (readonly, copy, nonatomic, nullable) NSArray<NSNumber *> *backtrace;

自定义错误回溯。 你可以使用 NSThread.callStackReturnAddresses 方法来获取它。

堆栈帧的最大数量为 200。 如果值超出限制,AppMetrica 会截断它。

underlyingError

@optional
@property (readonly, strong, nonatomic, nullable) id<AMAErrorRepresentable> underlyingError;

匹配 AMAErrorRepresentable 协议的错误实例.

嵌套错误的最大数量为10。 如果值超出限制,AppMetrica 会截断它。