optimize error messages

This commit is contained in:
Yeuoly
2024-11-22 20:04:20 +08:00
parent 1443fd6739
commit 200f9af5d8
3 changed files with 114 additions and 53 deletions

View File

@ -139,14 +139,12 @@ class BasePluginManager:
rep = PluginDaemonBasicResponse[type](**json_response)
if rep.code != 0:
if rep.code == -500:
try:
error = PluginDaemonError(**json.loads(rep.message))
except Exception as e:
raise ValueError(f"{rep.message}, code: {rep.code}")
try:
error = PluginDaemonError(**json.loads(rep.message))
except Exception as e:
raise ValueError(f"{rep.message}, code: {rep.code}")
self._handle_plugin_daemon_error(error.error_type, error.message, error.args)
raise ValueError(f"{rep.message}, code: {rep.code}")
self._handle_plugin_daemon_error(error.error_type, error.message, error.args)
if rep.data is None:
frame = inspect.currentframe()
raise ValueError(f"got empty data from plugin daemon: {frame.f_lineno if frame else 'unknown'}")
@ -224,6 +222,4 @@ class BasePluginManager:
case PluginPermissionDeniedError.__name__:
raise PluginPermissionDeniedError(description=message)
case _:
raise ValueError(
f"got unknown error from plugin daemon: {error_type}, message: {message}, args: {args}"
)
raise Exception(f"got unknown error from plugin daemon: {error_type}, message: {message}, args: {args}")

View File

@ -4,6 +4,10 @@ class PluginDaemonError(Exception):
def __init__(self, description: str) -> None:
self.description = description
def __str__(self) -> str:
# returns the class name and description
return f"{self.__class__.__name__}: {self.description}"
class PluginDaemonInternalServerError(PluginDaemonError):
description: str = "Internal Server Error"