diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-22 11:15:26 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-06-06 22:20:17 -0400 |
| commit | c8797451e34e26a8d503168974977ad3a2b32a1d (patch) | |
| tree | 838ca2d829c2542f3cd519bc7abbaedfe0542a67 /packages/backend/src | |
| parent | add more details to IdentifiableErrors (diff) | |
| download | sharkey-c8797451e34e26a8d503168974977ad3a2b32a1d.tar.gz sharkey-c8797451e34e26a8d503168974977ad3a2b32a1d.tar.bz2 sharkey-c8797451e34e26a8d503168974977ad3a2b32a1d.zip | |
render error cause in render-inline-error.ts
Diffstat (limited to 'packages/backend/src')
| -rw-r--r-- | packages/backend/src/misc/render-inline-error.ts | 27 |
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); } |