質問: int(zaif_public.last_price('btc_jpy')["last_price"]) print("市場取引価格:"+str(last_price)) print("btc資産:"+str(funds_btc)) print("jpy資産:"+str(funds_jpy)) print("最終取引価格:"+str(Last_trade_price)) print(" ") time.sleep(5) ### 試したこと ここに問題に対して試したことを記載してください。 通常は下記のように表示されます。(コマンドプロンプトでプログラムを起動) c:\zaif>zaiftest02.py ■ 現在の情報です: 2018/02/26 17:42:52 市場取引価格:1006135 btc資産:0.03865504 jpy資産:149.18181063 最終取引価格:1006135 不規則で前期の502,504のサーバーからのエラーコードが返ってくるため、強制終了されてしまいます。 たぶんZaifのサーバーが大量のユーザーからのアクセスに稼働環境が追い付いていないのではないかと思っています。 502、504のコードが返ってきてもプログラムをwhileの頭からやり直したいのです。 サーバーからのエラーが返ってきても、何度でもリトライするプログラムにしたいと考えております。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: zaifapi/zaifapi/api_common/response.pyを見てみるとHTTPステータス`200`以外なら`ZaifServerException`を投げているようなので`try`~`except`で例外を捕捉して必要な再処理を行えばよいと思います。 ``` while (True): # 略 try: funds_btc = zaif_trade.get_info2()['funds']['btc'] funds_jpy = zaif_trade.get_info2()['funds']['jpy'] except ZaifServerException as e: # 何らかの再処理 ```