2017-06-14 109 views
-4
while var == 1: 
    test_url = 'https://testurl.com' 
    get_response = requests.get(url=test_url) 
    parsed_json = json.loads(get_response.text) 
    test = requests.get('https://api.telegram.org/botid/' + 'sendMessage', params=dict(chat_id=str(0815), text="test")) 
    ausgabe = json.loads(test.text) 
    print(ausgabe['result']['text']) 
    time.sleep(3) 

如何我把一个try-catch程序来验证码,一旦每2个日子里,我得到一个错误,在4号线在json.loads()和i不能重现它。我想要做的是while循环处于“try:”模块和一个只在while循环内发生错误时才会触发的catch块。此外,如果while循环不会停止发生错误,那将会很好。我怎么能这样做。非常感谢您的帮助。 (我开始规划蟒就在一周前)的try-catch在while循环(蟒蛇)

+7

您是否尝试过使用您选择的搜索引擎寻找“python异常处理”?有很多教程可用 – UnholySheep

+0

是的,我做过了,但没有任何可以测试的,因为错误不会由意志重现,而且会在几天后发生。 – wibenji

回答

1

你可以简单地

while var == 1: 
    try: 
     test_url = 'https://testurl.com' 
     get_response = requests.get(url=test_url) 
     parsed_json = json.loads(get_response.text) 
     test = requests.get('https://api.telegram.org/botid/' + 'sendMessage', params=dict(chat_id=str(0815), text="test")) 
     ausgabe = json.loads(test.text) 
     print(ausgabe['result']['text']) 
     time.sleep(3) 
    except Exception as e: 
     print "an exception {} of type {} occurred".format(e, type(e).__name__) 
+1

非常感谢你,我会尽力并在几天内给予反馈。 – wibenji

2

如果你只是想捕获错误在第四行,一个“尝试,除了”包裹第四线将捕获发生了什么错误。

while var == 1: 
    test_url = 'https://testurl.com' 
    get_response = requests.get(url=test_url) 
    try: 
     parsed_json = json.loads(get_response.text) 
    except Exception as e: 
     print(str(e)) 
     print('error data is {}',format(get_response.text)) 
    test = requests.get('https://api.telegram.org/botid/' + 'sendMessage', params=dict(chat_id=str(0815), text="test")) 
    ausgabe = json.loads(test.text) 
    print(ausgabe['result']['text']) 
    time.sleep(3) 
+0

谢谢你的回答。我正在尝试其他答案,但会牢记这一点。 – wibenji