errors,vm: update error and use cause · nodejs/node@0e16120 · GitHub
Skip to content

Commit 0e16120

Browse files
devsnektargos
authored andcommitted
errors,vm: update error and use cause
PR-URL: #42820 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
1 parent 494650c commit 0e16120

4 files changed

Lines changed: 27 additions & 17 deletions

File tree

doc/api/errors.md

Lines changed: 11 additions & 6 deletions

lib/internal/errors.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,8 +1653,10 @@ E('ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA',
16531653
'Cached data cannot be created for a module which has been evaluated', Error);
16541654
E('ERR_VM_MODULE_DIFFERENT_CONTEXT',
16551655
'Linked modules must use the same context', Error);
1656-
E('ERR_VM_MODULE_LINKING_ERRORED',
1657-
'Linking has already failed for the provided module', Error);
1656+
E('ERR_VM_MODULE_LINK_FAILURE', function(message, cause) {
1657+
this.cause = cause;
1658+
return message;
1659+
}, Error);
16581660
E('ERR_VM_MODULE_NOT_MODULE',
16591661
'Provided module is not an instance of Module', Error);
16601662
E('ERR_VM_MODULE_STATUS', 'Module status %s', Error);

lib/internal/vm/module.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const {
3434
ERR_VM_MODULE_ALREADY_LINKED,
3535
ERR_VM_MODULE_DIFFERENT_CONTEXT,
3636
ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA,
37-
ERR_VM_MODULE_LINKING_ERRORED,
37+
ERR_VM_MODULE_LINK_FAILURE,
3838
ERR_VM_MODULE_NOT_MODULE,
3939
ERR_VM_MODULE_STATUS,
4040
} = require('internal/errors').codes;
@@ -317,9 +317,7 @@ class SourceTextModule extends Module {
317317
throw new ERR_VM_MODULE_DIFFERENT_CONTEXT();
318318
}
319319
if (module.status === 'errored') {
320-
// TODO(devsnek): replace with ERR_VM_MODULE_LINK_FAILURE
321-
// and error cause proposal.
322-
throw new ERR_VM_MODULE_LINKING_ERRORED();
320+
throw new ERR_VM_MODULE_LINK_FAILURE(`request for '${identifier}' resolved to an errored module`, module.error);
323321
}
324322
if (module.status === 'unlinked') {
325323
await module[kLink](linker);

test/parallel/test-vm-module-errors.js

Lines changed: 10 additions & 5 deletions

0 commit comments

Comments
 (0)