Blankly exceptions are created to homogenize relationships & interactions between exchanges as well as describe behaviors & errors in the module.
This will be raised exclusively by interface classes. If the user places an order that doesn't fill all limits that an exchange has, such as minimum size, funds or doesn't specify necessary parameters, this can be raised.
This is also raised exclusively by interfaces. This will be raised any time the exchange responds with a message rather than filling the request it was sent. The exception will contain the message from the exchange.
Quite literally raised in this instance:
if isinstance(response, dict): raise APIException(response['message'])
This will be raised if there are issues with the user input in
keys.json during authentication.