Raised when an error occurs as a result of bad client behavior, most commonly when the parameters passed to a method are somehow invalid. Other common cases:
Throttling errors
Bad credentials
No permission to do the requested operation
Limits exceeded (e.g. too many buckets)