From bce867acd2b4313736b8300a8df6c2935d90d313 Mon Sep 17 00:00:00 2001 From: hibobmaster Date: Thu, 13 Apr 2023 13:41:47 +0800 Subject: [PATCH] improve error handle --- askgpt.py | 2 +- bing.py | 4 ++-- bot.py | 27 +++++++++++++++++---------- send_image.py | 1 + 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/askgpt.py b/askgpt.py index c840284..1b1c083 100644 --- a/askgpt.py +++ b/askgpt.py @@ -36,4 +36,4 @@ class askGPT: resp = await response.read() return json.loads(resp)['choices'][0]['message']['content'] except Exception as e: - logger.error("Error Exception", exc_info=True) + raise Exception(e) diff --git a/bing.py b/bing.py index 15350cc..d14b3a7 100644 --- a/bing.py +++ b/bing.py @@ -47,6 +47,6 @@ class BingBot: return json_body['response'] except Exception as e: logger.error("Error Exception", exc_info=True) - print(f"Error: {e}") - pass + + return "Error, please retry" diff --git a/bot.py b/bot.py index 0390169..9764e68 100644 --- a/bot.py +++ b/bot.py @@ -495,14 +495,14 @@ class Bot: try: text = await asyncio.wait_for(self.chatbot.ask_async(prompt), timeout=180) except TimeoutError as e: - logger.error("timeoutException", exc_info=True) - text = "Timeout error" + logger.error(f"TimeoutException: {e}", exc_info=True) + raise Exception("Timeout error") except Exception as e: - logger.error("Error", exc_info=True) - print(f"Error: {e}") + raise Exception(e) - text = text.strip() + try: + text = text.strip() await send_room_message(self.client, room_id, reply_message=text, reply_to_event_id="", sender_id=sender_id, user_message=raw_user_message, markdown_formatted=self.markdown_formatted) except Exception as e: @@ -516,11 +516,14 @@ class Bot: # timeout 120s text = await asyncio.wait_for(self.askgpt.oneTimeAsk(prompt, self.chatgpt_api_endpoint, self.headers), timeout=180) except TimeoutError: - logger.error("timeoutException", exc_info=True) - text = "Timeout error" + logger.error("TimeoutException", exc_info=True) + raise Exception("Timeout error") + except Exception as e: + raise Exception(e) - text = text.strip() + try: + text = text.strip() await send_room_message(self.client, room_id, reply_message=text, reply_to_event_id="", sender_id=sender_id, user_message=raw_user_message, markdown_formatted=self.markdown_formatted) except Exception as e: @@ -535,9 +538,13 @@ class Bot: text = await asyncio.wait_for(self.bingbot.ask_bing(prompt), timeout=180) except TimeoutError: logger.error("timeoutException", exc_info=True) - text = "Timeout error" - text = text.strip() + raise Exception("Timeout error") + except Exception as e: + raise Exception(e) + + try: + text = text.strip() await send_room_message(self.client, room_id, reply_message=text, reply_to_event_id="", sender_id=sender_id, user_message=raw_user_message, markdown_formatted=self.markdown_formatted) except Exception as e: diff --git a/send_image.py b/send_image.py index 3378d44..3e363d5 100644 --- a/send_image.py +++ b/send_image.py @@ -59,3 +59,4 @@ async def send_room_image(client: AsyncClient, except Exception as e: logger.error( f"Image send of file {image} failed.\n Error: {e}", exc_info=True) + raise Exception(e)