summaryrefslogtreecommitdiff
path: root/packages/backend/src/misc/render-inline-error.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/misc/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);
}