From e7ea890230440452888d8786a860e7603ad4948d Mon Sep 17 00:00:00 2001 From: cyfung1031 <44498510+cyfung1031@users.noreply.github.com> Date: Sun, 22 Mar 2026 14:21:19 +0900 Subject: [PATCH] =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E6=98=BE=E7=A4=BA=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/message/server.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/message/server.ts b/packages/message/server.ts index e69e7f0e7..f46347709 100644 --- a/packages/message/server.ts +++ b/packages/message/server.ts @@ -104,6 +104,19 @@ type ApiFunction = (params: any, con: IGetSender) => Promise | any | void; type ApiFunctionSync = (params: any, con: IGetSender) => any; type MiddlewareFunction = (params: any, con: IGetSender, next: () => Promise | any) => Promise | any; +const formatErrorToClient = (e: any) => { + if (!e) return `${e}`; + if (typeof e?.message === "string") return e.message; + if (typeof e === "object") { + try { + return JSON.stringify(e); + } catch { + // ignored + } + } + return e.toString(); +}; + export class Server { private apiFunctionMap: Map = new Map(); @@ -159,7 +172,7 @@ export class Server { data && con.sendMessage({ code: 0, data }); }) .catch((e: Error) => { - con.sendMessage({ code: -1, message: e.message || e.toString() }); + con.sendMessage({ code: -1, message: formatErrorToClient(e) }); this.logger.error("connectHandle error", Logger.E(e)); }); return true; @@ -191,7 +204,7 @@ export class Server { } }) .catch((e: Error) => { - sendResponse({ code: -1, message: e.message || e.toString() }); + sendResponse({ code: -1, message: formatErrorToClient(e) }); this.logger.error("messageHandle error", Logger.E(e)); }); return true; @@ -199,7 +212,7 @@ export class Server { sendResponse({ code: 0, data: ret }); } } catch (e: any) { - sendResponse({ code: -1, message: e.message || e.toString() }); + sendResponse({ code: -1, message: formatErrorToClient(e) }); this.logger.error("messageHandle error", Logger.E(e)); } } else {