2016-09-16 9 views
0

このコードは正しいですか?私はErrno 111を取得して終了し、プログラムは何度も何度もやっています。urllib2.URLErrorの後にもう一度試してください:<urlopenエラー[Errno 111] Connection refused>

接続エラーが発生した場合は、10秒待ってからもう一度URLを取得し直してください。

私はPython 2.7を使用しています。

import errno 
for attempt in range(20): 
    try: 
     browser.get(url) 
    except EnvironmentError as exc: 
     if exc.errno == errno.ECONNREFUSED: 
      anow = datetime.datetime.now() 
      print("got a 111 connection error",anow) 
      time.sleep(10) 
     elif exc.errno == errno.ECONNRESET: 
      anow = datetime.datetime.now() 
      print("got a RESET connection error",anow) 
      time.sleep(10) 
     else: 
      continue 
    else: 
     break 
else: 
    print("tried 20 times - kept getting Error") 
+0

111があなたのコードに何らかの形で関連していますか?あなたがあなたを助けたいと思う人々があなたが質問で提供できるものを調べる必要がないことを確かめましたか? –

答えて

0

ので、これは私がやってしまったもので、それが動作しているようです: 私が望んでいたことはどんなエラーが発生した後、もう一度、再試行してください、だけでなく、エラーが何だったかを教えてしまうものでした。このコードはPythonANywhere上で動作しているので、私はキーボードの割り込みなどを心配していません...さらに、range()の試みは、While Trueループでのようにコードが永遠に実行されないようにします。

for attempt in range(1,3): 
     try: 
      browser.get(url) 
      print("browser success",i) 
      break 
     except Exception as e: 
      print(e," Attempt:" + str(attempt)) 
      time.sleep(4) 
      pass 
関連する問題