在执行的程序中,难免会碰到因为一些原因如输入输出导致致命性错误产生的情况(如因为输入的文件名错误而导致无法运行相关的代码。)。此时你不希望程序直接挂掉,而是通过显示一些信息,使其平稳的结束。此时,就可以使用try,except和else这三个关键字来组成一个包容性很好的程序。
分别解释三个关键字:
try:执行可能会出错的试探性语句,即这里面的语句是可以导致致命性错误使得程序无法继续执行下去
except:如果try里面的语句无法正确执行,那么就执行except里面的语句,这里面可以是错误信息或者其他的可执行语句
else:如果try里面的语句可以正常执行,那么就执行else里面的语句(相当于程序没有碰到致命性错误)
def getuserinfo(self,max_try_number=20):
try_num = 0
while True:
try:
mappingMoneyApi = "/********"
params = {}
params['apikey'] = self.__apikey
params['time'] = GetTimeStamp()
params['sign'] = buildMySign(params, self.__secretkey)
return httpPost(self.__url, mappingMoneyApi, params)
except Exception as http_err:
print(mappingMoneyApi, "获取用户资产信息,抓取报错", http_err)
try_num += 1
if try_num == max_try_number:
# print("尝试失败次数过多,放弃尝试")
self.send_phone("获取用户资产信息,尝试失败次数过多,正在尝试下次机会。")
# return None
else: # 如果try里面的语句成功执行,那么就执行else里面的语句
if try_num >= max_try_number:
self.send_phone("获取用户资产信息,已经恢复正常运行。")
网友评论