Exceptions¶
Catching API errors¶
Tapioca supports 2 main types of exceptions: ClientError
and ServerError
. The default implementation raises ClientError
for HTTP response 4xx status codes and ServerError
for 5xx status codes. Since each API has its own ways of reporting errors and not all of them follow HTTP recommendations for status codes, this can be overriden by each implemented client to reflect its behaviour. Both of these exceptions extend TapiocaException
which can be used to catch errors in a more generic way.
-
class
TapiocaException
¶
Base class for tapioca exceptions. Example usage:
from tapioca.exceptions import TapiocaException
try:
cli.fetch_something().get()
except TapiocaException, e:
print("API call failed with error %s", e.status_code)
You can also access a tapioca client that contains response data from the exception:
from tapioca.exceptions import TapiocaException
try:
cli.fetch_something().get()
except TapiocaException, e:
print(e.client().data)
-
class
ClientError
¶
Default exception for client errors. Extends from TapiocaException
.
-
class
ServerError
¶
Default exception for server errors. Extends from TapiocaException
.