From e3a724177a21e9592c15e5922a7cbaf4cafb2866 Mon Sep 17 00:00:00 2001 From: Adrian Estrada Date: Mon, 3 Aug 2026 18:25:49 -0500 Subject: [PATCH] doc: document REPL DEP0185 throws and uncaught-exception behavior MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two doc-only improvements to `doc/api/repl.md`, both filling gaps left by recent semver-major REPL changes: 1. `repl.REPLServer` is an ES class; calling it without `new` is End-of-Life (DEP0185) and throws a native V8 `TypeError`. The "Class: REPLServer" section now notes this and links to the DEP0185 entry in `doc/api/deprecations.md`. No `Stability: 0` banner is added because the class itself is not deprecated — only the `new`-less invocation is — matching the parallel DEP0184/DEP0195 "classes without `new`" convention. 2. PR #64034 ("repl: use inspector over vm") removed the old "Global uncaught exceptions" subsection because the `domain`-based restrictions it documented no longer exist. A new top-level `### Error handling` section documents the current model (mirroring the `### Error handling` convention in async_hooks/http2/quic), anchored to the existing `Uncaught Error: REPL await` example. Refs: https://github.com/nodejs/node/pull/59495 Refs: https://github.com/nodejs/node/pull/54869 Refs: https://github.com/nodejs/node/pull/54842 Refs: https://github.com/nodejs/node/pull/64034 PR-URL: https://github.com/nodejs/node/pull/64993 Signed-off-by: Adrian Estrada --- doc/api/repl.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/api/repl.md b/doc/api/repl.md index c384ebf13913..7a57af574422 100644 --- a/doc/api/repl.md +++ b/doc/api/repl.md @@ -232,6 +232,15 @@ undefined undefined ``` +### Error handling + +By default, uncaught exceptions in the REPL are printed to the output stream +(as with `Uncaught Error: REPL await` above). `uncaughtException` listeners +can be added freely in both standalone and nested REPLs. The `handleError` +option of [`repl.start()`][] can customize this behavior, including +forwarding exceptions to [`'uncaughtException'`][] by returning +`'unhandled'`. + ### Reverse-i-search