---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.0
alternate:
  - https://appmetrica.yandex.com.tr/docs/en/sdk/ios/analytics/swift/ErrorRepresentable.md
  - https://appmetrica.yandex.com.tr/docs/ru/sdk/ios/analytics/swift/ErrorRepresentable.md
  - https://appmetrica.yandex.com.tr/docs/zh/sdk/ios/analytics/swift/ErrorRepresentable.md
  - href: https://appmetrica.yandex.com.tr/docs/zh/sdk/ios/analytics/swift/ErrorRepresentable.md
    type: text/markdown
    title: Markdown version
  - href: https://appmetrica.yandex.com.tr/docs/zh/llms.txt?revision=r21874424
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://appmetrica.yandex.com.tr/docs/zh/llms.txt?revision=r21874424

# ErrorRepresentable 协议

可发送错误的协议 AppMetrica。

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

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

您可以实现此协议来发送自定义错误。 您也可以使用默认的[AppMetricaError](https://appmetrica.yandex.com.tr/docs/zh/sdk/ios/analytics/swift/AppMetricaError.md)实现。

## Properties {#property_summary}

#|
|| [identifier](#property_identifier) | Error ID. AppMetrica 使用它来对错误进行分组。 ||
|| [消息](#property_message) | 任意错误描述。 ||
|| [参数](#property_parameters) | 附加的错误参数。 ||
|| [回溯跟踪](#property_backtrace) | 自定义错误回溯。 你可以使用 `Thread.callStackReturnAddresses` 方法来获取它。 ||
|| [underlyingError](#property_underlyingError) | 匹配 `ErrorRepresentable` 协议的错误实例。 ||
|#

## Property descriptions {#property_detail}

### identifier {#property_identifier}

```swift translate=no
var identifier: String { get }
```

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

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

{% note info %}

AppMetrica 不使用嵌套错误（underlyingError）ID 进行分组。

{% endnote %}

### message {#property_message}

```swift translate=no
optional var message: String? { get }
```

任意错误描述。

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

### parameters {#property_parameters}

```swift translate=no
optional var parameters: [String : Any]? { get }
```

附加的错误参数。

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

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

### backtrace {#property_backtrace}

```swift translate=no
optional var backtrace: [NSNumber]? { get }
```

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

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

### underlyingError {#property_underlyingError}

```swift translate=no
optional var underlyingError: ErrorRepresentable? { get }
```

匹配 `ErrorRepresentable` 协议的错误实例。

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