<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "SiriKitCloudMedia",
  "identifier" : "/documentation/SiriKitCloudMedia/ProtocolException",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "SiriKit Cloud Media"
    ],
    "preciseIdentifier" : "data:sirikit_media_api:ProtocolException"
  },
  "title" : "ProtocolException"
}
-->

# ProtocolException

An exception response from a media service.

```
object ProtocolException
```

## Discussion

You can define a mapping of exception `code` values that’s meaningful for your service. The client logs these exception codes.

The client doesn’t retry if the `retryWithDelay` value is negative or absent. If the value is greater than 5 seconds, the client may not retry so it can preserve the real-time interaction with the user.

Include the `methodName` and `methodIndex` whenever the reason is `unsupported`, `unauthorized`, `invalid`, or `busy`. For other reason values, these properties may help diagnose issues, but aren’t a requirement.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)