summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-22 11:15:26 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-06-06 22:20:17 -0400
commitc8797451e34e26a8d503168974977ad3a2b32a1d (patch)
tree838ca2d829c2542f3cd519bc7abbaedfe0542a67
parentadd more details to IdentifiableErrors (diff)
downloadsharkey-c8797451e34e26a8d503168974977ad3a2b32a1d.tar.gz
sharkey-c8797451e34e26a8d503168974977ad3a2b32a1d.tar.bz2
sharkey-c8797451e34e26a8d503168974977ad3a2b32a1d.zip
render error cause in render-inline-error.ts
-rw-r--r--packages/backend/src/misc/render-inline-error.ts27
1 files changed, 19 insertions, 8 deletions
diff --git a/packages/backend/src/misc/render-inline-error.ts b/packages/backend/src/misc/render-inline-error.ts
index 9536d5ea0e..3d1bd7746d 100644
--- a/packages/backend/src/misc/render-inline-error.ts
+++ b/packages/backend/src/misc/render-inline-error.ts
@@ -7,6 +7,21 @@ import { IdentifiableError } from '@/misc/identifiable-error.js';
import { StatusError } from '@/misc/status-error.js';
export function renderInlineError(err: unknown): string {
+ if (err instanceof Error) {
+ const text = printError(err);
+
+ if (err.cause) {
+ const cause = renderInlineError(err.cause);
+ return `${text} [caused by]: ${cause}`;
+ } else {
+ return text;
+ }
+ }
+
+ return String(err);
+}
+
+function printError(err: Error): string {
if (err instanceof IdentifiableError) {
if (err.message) {
return `${err.name} ${err.id}: ${err.message}`;
@@ -25,13 +40,9 @@ export function renderInlineError(err: unknown): string {
}
}
- if (err instanceof Error) {
- if (err.message) {
- return `${err.name}: ${err.message}`;
- } else {
- return err.name;
- }
+ if (err.message) {
+ return `${err.name}: ${err.message}`;
+ } else {
+ return err.name;
}
-
- return String(err);
}