8.2. ErrorsΒΆ
The class kamaki.clients.ClientError
is raised when the response of an API
call is not as expected. In most cases, it is the only error type you will need
while working with kamaki library.
A ClientError contains:
message The error message.
status Typically, the API response code (usually an error code)
details Optional list of messages with error details.
Here is an error-conscious version of the AstakosCLient initialization
# Initialize an astakos Client
from kamaki.clients.astakos import AstakosClient, ClientError
try:
astakos = AstakosClient(AUTHENTICATION_URL, TOKEN)
except ClientError as ce:
if ce in (404, ):
print "Invalid URL for this cloud"
elif ce in (401, ):
print "Authentication failed"
print "Status: {code}, Message: {msg}, Details: {details})".format(
code=ce.status, msg=ce.message, details=', '.join(ce.details))
exit(1)
Some clients or methods can produce specialized errors i.e.,
AstakosClientError
is raised by AstakosClient, KamakiSSLError
is raised
in case of an SSL-related problem. Both errors are subclasses of ClientError
and can be handled as such.