> ## Documentation Index
> Fetch the complete documentation index at: https://e2b-automation-sdk-reference-sync.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Exceptions

### format\_sandbox\_unavailable\_exception

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
def format_sandbox_unavailable_exception(message: str) -> Exception
```

Map a 502/UNAVAILABLE answered by the proxy in front of envd: the sandbox was
not found (killed or reached its timeout) is a `SandboxNotRunningException`;
the sandbox running but envd's port not open (e.g. its network is down) a
`SandboxUnreachableException`; any other message (e.g. envd ending a stream
because the connection to the sandbox was lost) a `SandboxUnreachableException`
too, with the sandbox state reported as unknown.

## SandboxException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class SandboxException(Exception)
```

Base class for all sandbox errors.

Raised when a general sandbox exception occurs.

**Arguments**:

* `status_code`: HTTP status of the API response that produced this error, when there was one.

## TimeoutException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class TimeoutException(SandboxException)
```

Raised when a timeout occurs.

The `unavailable` exception type is caused by sandbox timeout.

The `canceled` exception type is caused by exceeding request timeout.

The `deadline_exceeded` exception type is caused by exceeding the timeout for process, watch, etc.

The `unknown` exception type is sometimes caused by the sandbox timeout when the request is not processed correctly.

## InvalidArgumentException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class InvalidArgumentException(SandboxException)
```

Raised when an invalid argument is provided.

## NotEnoughSpaceException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class NotEnoughSpaceException(SandboxException)
```

Raised when there is not enough disk space.

## NotFoundException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class NotFoundException(SandboxException)
```

Raised when a resource is not found.

.. deprecated::
Use :class:`FileNotFoundException` or :class:`SandboxNotFoundException` instead.
This class will be removed in the next major version.

## FileNotFoundException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class FileNotFoundException(NotFoundException)
```

Raised when a file or directory is not found inside a sandbox.

## SandboxNotFoundException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class SandboxNotFoundException(NotFoundException)
```

Raised when a sandbox is not found (e.g. it doesn't exist or is no longer running).

## SandboxNotRunningException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class SandboxNotRunningException(TimeoutException)
```

Raised when the sandbox is not running anymore: the proxy in front of it
answered a request (or the health probe run after a request failed at the
connection level) with the sandbox not found -- it was killed, paused or
reached its timeout. Retrying the request will not help; create or resume a
sandbox.

The split from `SandboxUnreachableException` is only as good as the proxy's
answer and the health probe: a sandbox that is gone but could not be asked
about is a `SandboxUnreachableException`. Handlers that want every "sandbox
is gone" case should catch both this class and `SandboxNotFoundException`
(the control-plane API's answer for a sandbox that does not exist).

Subclass of `TimeoutException`, which this case surfaced as before.

## SandboxUnreachableException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class SandboxUnreachableException(TimeoutException)
```

Raised when the sandbox could not be reached while it is not confirmed to be
stopped: the proxy in front of the sandbox reports it running but envd's port
not open (e.g. the sandbox's network is down), the proxy or envd answered with
an unavailability the health probe could not resolve (e.g. the connection to
the sandbox was lost mid-stream while the probe found it running), or a
request failed at the connection level (the connection could not be
established or was dropped mid-request) and the follow-up health probe got no
answer from the sandbox either. A sandbox confirmed stopped (or paused) is a
`SandboxNotRunningException` -- but only as far as the probe can tell: a
sandbox that is gone and could not be asked about surfaces here.

This usually means the sandbox's network is down, envd inside it is not up
(yet), or a network issue between the client and the sandbox. Check the
sandbox state with `Sandbox.get_info()`.

Subclass of `TimeoutException`, which these cases surfaced as before.

## AuthenticationException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class AuthenticationException(Exception)
```

Raised when authentication fails.

## GitAuthException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class GitAuthException(AuthenticationException)
```

Raised when git authentication fails.

:deprecated: Run git with `sandbox.commands.run()` instead. The git module will be removed in the next major version.

## GitUpstreamException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class GitUpstreamException(SandboxException)
```

Raised when git upstream tracking is missing.

:deprecated: Run git with `sandbox.commands.run()` instead. The git module will be removed in the next major version.

## TemplateException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class TemplateException(SandboxException)
```

Exception raised when the template uses old envd version. It isn't compatible with the new SDK.

## RateLimitException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class RateLimitException(SandboxException)
```

Raised when the API rate limit is exceeded.

## ServiceBusyException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class ServiceBusyException(Exception)
```

Raised when the API refused the operation because the service is

temporarily busy (HTTP 503): no capacity to place a sandbox right now, or
the node running the sandbox declined a request it cannot serve yet.

Nothing was changed by the refused call: for example a refused pause
leaves the sandbox running with its state intact, so the same call can be
retried after a short wait.

Like `AuthenticationException` and unlike the other API errors, this is not
a `SandboxException`: it is raised for every 503 whatever the operation, so
catch it explicitly.

**Arguments**:

* `status_code`: HTTP status of the API response: always 503.

## BuildException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class BuildException(Exception)
```

Raised when the build fails.

## FileUploadException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class FileUploadException(BuildException)
```

Raised when the file upload fails.

## VolumeException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class VolumeException(Exception)
```

Base class for all volume errors.

Raised when general volume errors occur.

## VolumeNotFoundException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class VolumeNotFoundException(NotFoundException)
```

Raised when a volume is not found.

## VolumePathNotFoundException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class VolumePathNotFoundException(NotFoundException)
```

Raised when a file or directory is not found inside a volume.

## SecretException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class SecretException(Exception)
```

Base class for all secret errors.

Raised when general secret errors occur.

## SecretNotFoundException

```python theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
class SecretNotFoundException(SecretException)
```

Raised when a secret is not found.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.