Skip to content

src: refactor and harden `ProcessEmitWarning()`

  • Handle exceptions when getting process.emitWarning or when calling it properly
  • Add Maybe<bool> to the return type, like the V8 API uses it to indicate failure conditions
  • Update call sites to account for that and clean up/return to JS when encountering an error
  • Add an internal ProcessEmitDeprecationWarning() sibling for use in https://github.com/nodejs/node/pull/17417, with common code extracted to a helper function
  • Allow the warning to contain non-Latin-1 characters. Since the message will usually be a template string containing data passed from the user, this is the right thing to do.
  • Add tests for the failure modes (except string creation failures) and UTF-8 warning messages.

Refs: https://github.com/nodejs/node/pull/17417

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines
Affected core subsystem(s)

src

Merge request reports

Loading