問題はここで捕捉されたにもかかわらず、TypeError: a bytes-like object is required, not 'NoneType'を出して終了したこと。
期待する動作としては、
①44行目でエラーを捕捉して
②46行目でエラー出力を行ったあと、
③50行目でEMPTY_RESPONSEを返し、
④vparser内のextract_video_ids()関数内で、JSONパース失敗のメッセージをコンソールに出して
プログラムが継続すること。
であるが、②が終わった後、TypeError: a bytes-like object is required, not 'NoneType'を出して終了してしまった。
TypeError発生個所が112行目(空行)なのも不思議。
エラー内容
長時間起動テストしている際に、下記エラーが出て停止。 vscode上のターミナルから実行 起動から6時間40分
該当コード部分
https://github.com/pusaitou/mikochiku_alarm/blob/8b9e627a25571899ae0e4c51c29b839edcb83028/httpreq/__init__.py#L29-L50
今回はReadTimeout エラーなので、個別に捕捉されず、一番下のrequests.exceptions.RequestException (そのほかのエラー)として捕捉された。
(print(f'Error:RequestException{type(e)} {str(e)}') によるエラー表示が出ていることからもわかる)
問題はここで捕捉されたにもかかわらず、TypeError: a bytes-like object is required, not 'NoneType'を出して終了したこと。
期待する動作としては、 ①44行目でエラーを捕捉して ②46行目でエラー出力を行ったあと、 ③50行目でEMPTY_RESPONSEを返し、 ④vparser内のextract_video_ids()関数内で、JSONパース失敗のメッセージをコンソールに出して プログラムが継続すること。 であるが、②が終わった後、
TypeError: a bytes-like object is required, not 'NoneType'
を出して終了してしまった。 TypeError発生個所が112行目(空行)なのも不思議。対応案
呼び出し元(mikochiku_alarm.pyのget_live_video_id)で例外処理を捕捉する。