# Errors

## TapToPaySDKError


```swift
public enum TapToPaySDKError: Error {

    case retryLimitExhausted(Error)

    case connectionProviderRetriesExhausted(Error)

    case connectionProviderFailure

    case connectionProviderError(Error)

    case fetchSessionCredentialsError(Error)

    case sdkUpgradeRequiredError(String)

    case failedToVerifyConnection(Error)

    case connectionSecretNotInitialized

    case tapToPayInitialisationError

    case tapToPaySDKNotInitialised

    case sessionInitialisationError

    case discoverReadersError

    case noProximityReaderFound

    case unableToConnectReader

    case transactionError(String)

    case transactionStatusError(String)

    case unknownUiEvent

    case missingSessionCredentials

    case invalidParameter(String)
}
```

## ConnectionProviderError

Failure scenarios that can occur when the `ConnectionProvider` communicates with the POS server.


```swift
public enum ConnectionProviderError: Error {
  case failedToConnect(error: Error?)
}
```