oven-sh/bun

print AggregateError more distinctly

Open

#21,528 建立於 2025年8月1日

在 GitHub 查看
 (3 留言) (0 反應) (0 負責人)Rust (90,348 star) (4,486 fork)batch import
bugconfirmed bugconsolegood first issue

描述

What version of Bun is running?

1.2.20-debug+97a530d83

What platform is your computer?

Darwin 24.5.0 arm64 arm

What steps can reproduce the bug?

function foo() {
  return new Error("foo!");
}

function bar() {
  return new Error("bar!");
}

throw new AggregateError([foo(), bar()], "qux!");

What is the expected behavior?

❯ node index.ts 
file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9
throw new AggregateError([foo(), bar()], "qux!");
      ^

AggregateError: qux!
    at file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:7
    at ModuleJob.run (node:internal/modules/esm/module_job:365:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:99:5) {
  [errors]: [
    Error: foo!
        at foo (file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:2:10)
        at file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:27
        at ModuleJob.run (node:internal/modules/esm/module_job:365:25)
        at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
        at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:99:5),
    Error: bar!
        at bar (file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:6:10)
        at file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:34
        at ModuleJob.run (node:internal/modules/esm/module_job:365:25)
        at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
        at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:99:5)
  ]
}

Node.js v24.3.0

What do you see instead?

❯ bun-debug index.ts 
1 | function foo() {
2 |   return new Error("foo!");
             ^
error: foo!
      at foo (/private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:2:10)
      at /private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:27
      at loadAndEvaluateModule (7:44)
      at asyncFunctionResume (9:85)
      at promiseReactionJobWithoutPromiseUnwrapAsyncContext (14:20)
      at promiseReactionJob (31:60)
1 | function foo() {
2 |   return new Error("foo!");
3 | }
4 | 
5 | function bar() {
6 |   return new Error("bar!");
             ^
error: bar!
      at bar (/private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:6:10)
      at /private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:34
      at loadAndEvaluateModule (7:44)
      at asyncFunctionResume (9:85)
      at promiseReactionJobWithoutPromiseUnwrapAsyncContext (14:20)
      at promiseReactionJob (31:60)

Bun v1.2.20-debug+97a530d83 (macOS arm64)

Additional information

it should be more clear the errors are part of an AggregateError the AggregateError's own message should be printed

貢獻者指南