# Types & Errors (/sdks/csharp/reference/types-and-errors)



## Retry policy [#retry-policy]

| Setting             | Default | Description                   |
| ------------------- | ------- | ----------------------------- |
| `Enabled`           | `true`  | Enable/disable retry          |
| `MaxRetries`        | `3`     | Maximum retry attempts        |
| `InitialBackoff`    | `500ms` | Delay before first retry      |
| `MaxBackoff`        | `30s`   | Maximum delay between retries |
| `BackoffMultiplier` | `2.0`   | Exponential multiplier        |

## Exception hierarchy [#exception-hierarchy]

```text
KubeMQException
  ├── KubeMQConnectionException (retryable)
  ├── KubeMQTimeoutException (retryable)
  ├── KubeMQAuthenticationException (non-retryable)
  ├── KubeMQConfigurationException (non-retryable)
  ├── KubeMQOperationException (non-retryable)
  ├── KubeMQRetryExhaustedException (non-retryable)
  ├── KubeMQStreamBrokenException (non-retryable)
  ├── KubeMQBufferFullException (non-retryable)
  └── KubeMQPartialFailureException (non-retryable)
```

All exceptions expose `ErrorCode` and `IsRetryable`.

## Resources [#resources]

* [GitHub Repository](https://github.com/kubemq-io/kubemq-CSharp)
* [NuGet Package](https://www.nuget.org/packages/KubeMQ.SDK.CSharp/)
* [Examples](/sdks/csharp/how-to)

## See Also [#see-also]

* [C# SDK Getting Started](/sdks/csharp)
