MCPcopy Create free account
hub / github.com/ccxt/ccxt / handle_errors

Method handle_errors

python/ccxt/deepcoin.py:2832–2862  ·  view source on GitHub ↗
(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody)

Source from the content-addressed store, hash-verified

2830 return {'url': url, 'method': method, 'body': body, 'headers': headers}
2831
2832 def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
2833 data = self.safe_dict(response, 'data', {})
2834 msg = self.safe_string(response, 'msg')
2835 messageCode = self.safe_string(response, 'code')
2836 sCode = self.safe_string(data, 'sCode')
2837 sMsg = self.safe_string(data, 'sMsg')
2838 errorCode = self.safe_string(data, 'errorCode')
2839 if (msg is not None) and (msg == '') and (sMsg is not None):
2840 msg = sMsg
2841 errorList = self.safe_list(data, 'errorList')
2842 if errorList is not None:
2843 for i in range(0, len(errorList)):
2844 entry = self.safe_dict(errorList, i, {})
2845 errorCode = self.safe_string(entry, 'errorCode')
2846 feedback = self.id + ' ' + body
2847 if (sCode is None) and (errorCode is not None):
2848 sCode = errorCode
2849 retCode = self.safe_string(data, 'retCode')
2850 if (sCode is None) and (retCode is not None):
2851 sCode = retCode
2852 if (code != 200) or (messageCode != '0') or (sCode is not None and sCode != '0'):
2853 self.throw_exactly_matched_exception(self.exceptions['exact'], messageCode, feedback)
2854 self.throw_exactly_matched_exception(self.exceptions['exact'], sCode, feedback)
2855 self.throw_exactly_matched_exception(self.exceptions['exact'], msg, feedback)
2856 self.throw_broadly_matched_exception(self.exceptions['broad'], msg, feedback)
2857 raise ExchangeError(feedback)
2858 else:
2859 list = self.safe_list(data, 'list', [])
2860 if ('list' in data) and (list is None):
2861 raise NullResponse(feedback)
2862 return None

Callers

nothing calls this directly

Calls 8

ExchangeErrorClass · 0.90
NullResponseClass · 0.90
safe_dictMethod · 0.80
safe_stringMethod · 0.80
safe_listMethod · 0.80
rangeFunction · 0.50

Tested by

no test coverage detected