【发布时间】:2018-03-14 18:14:47
【问题描述】:
我试图在忽略异常的情况下执行循环。我认为pass 或continue 将允许我忽略循环中的异常。我应该把pass 或continue 放在哪里?
class KucoinAPIException(Exception):
"""Exception class to handle general API Exceptions
`code` values
`message` format
"""
def __init__(self, response):
self.code = ''
self.message = 'Unknown Error'
try:
json_res = response.json()
except ValueError:
self.message = response.content
pass
else:
if 'error' in json_res:
self.message = json_res['error']
if 'msg' in json_res:
self.message = json_res['msg']
if 'message' in json_res and json_res['message'] != 'No message available':
self.message += ' - {}'.format(json_res['message'])
if 'code' in json_res:
self.code = json_res['code']
if 'data' in json_res:
try:
self.message += " " + json.dumps(json_res['data'])
except ValueError:
pass
self.status_code = response.status_code
self.response = response
self.request = getattr(response, 'request', None)
def __str__(self):
return 'KucoinAPIException {}: {}'.format(self.code, self.message)
这不起作用:
from kucoin.exceptions import KucoinAPIException, KucoinRequestException, KucoinResolutionException
for i in range(10):
# Do kucoin stuff, which might raise an exception.
continue
【问题讨论】:
-
你能发布你的堆栈跟踪吗?
-
好吧,我猜你在循环中捕获了异常。
-
在抛出 KucoinAPIException 的主块中使用 try catch..即这里
#do kucoin stuff continue -
谢谢大家,我回家后要试试这个。手指交叉。