Skip to content

Commit ae87200

Browse files
committed
errors: add comments about falsy error types
Some error types are not properly set. This adds comments which ones are probably falty and to what they should be set instead.
1 parent a51e50d commit ae87200

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

lib/internal/errors.js

+31-1
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,8 @@ E('ERR_CRYPTO_HASH_FINALIZED', 'Digest already called', Error);
622622
E('ERR_CRYPTO_HASH_UPDATE_FAILED', 'Hash update failed', Error);
623623
E('ERR_CRYPTO_INVALID_DIGEST', 'Invalid digest: %s', TypeError);
624624
E('ERR_CRYPTO_INVALID_STATE', 'Invalid state for operation %s', Error);
625+
626+
// Switch to TypeError. The current implementation does not seem right.
625627
E('ERR_CRYPTO_SIGN_KEY_REQUIRED', 'No key provided to sign', Error);
626628
E('ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH',
627629
'Input buffers must have the same length', RangeError);
@@ -643,7 +645,7 @@ E('ERR_ENCODING_NOT_SUPPORTED', 'The "%s" encoding is not supported',
643645
E('ERR_FALSY_VALUE_REJECTION', 'Promise was rejected with falsy value', Error);
644646
E('ERR_FS_INVALID_SYMLINK_TYPE',
645647
'Symlink type must be one of "dir", "file", or "junction". Received "%s"',
646-
Error);
648+
Error); // Switch to TypeError. The current implementation does not seem right
647649
E('ERR_HTTP2_ALTSVC_INVALID_ORIGIN',
648650
'HTTP/2 ALTSVC frames require a valid origin', TypeError);
649651
E('ERR_HTTP2_ALTSVC_LENGTH',
@@ -659,10 +661,14 @@ E('ERR_HTTP2_GOAWAY_SESSION',
659661
E('ERR_HTTP2_HEADERS_AFTER_RESPOND',
660662
'Cannot specify additional headers after response initiated', Error);
661663
E('ERR_HTTP2_HEADERS_SENT', 'Response has already been initiated.', Error);
664+
665+
// This should probably be a `TypeError`.
662666
E('ERR_HTTP2_HEADER_SINGLE_VALUE',
663667
'Header field "%s" must have only a single value', Error);
664668
E('ERR_HTTP2_INFO_STATUS_NOT_ALLOWED',
665669
'Informational status codes cannot be used', RangeError);
670+
671+
// This should probably be a `TypeError`.
666672
E('ERR_HTTP2_INVALID_CONNECTION_HEADERS',
667673
'HTTP/1 Connection specific headers are forbidden: "%s"', Error);
668674
E('ERR_HTTP2_INVALID_HEADER_VALUE',
@@ -671,6 +677,8 @@ E('ERR_HTTP2_INVALID_INFO_STATUS',
671677
'Invalid informational status code: %s', RangeError);
672678
E('ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH',
673679
'Packed settings length must be a multiple of six', RangeError);
680+
681+
// This should probably be a `TypeError`.
674682
E('ERR_HTTP2_INVALID_PSEUDOHEADER',
675683
'"%s" is an invalid pseudoheader or is used incorrectly', Error);
676684
E('ERR_HTTP2_INVALID_SESSION', 'The session has been destroyed', Error);
@@ -689,6 +697,8 @@ E('ERR_HTTP2_PAYLOAD_FORBIDDEN',
689697
'Responses with %s status must not have a payload', Error);
690698
E('ERR_HTTP2_PING_CANCEL', 'HTTP2 ping cancelled', Error);
691699
E('ERR_HTTP2_PING_LENGTH', 'HTTP2 ping payload must be 8 bytes', RangeError);
700+
701+
// This should probably be a `TypeError`.
692702
E('ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED',
693703
'Cannot set HTTP/2 pseudo-headers', Error);
694704
E('ERR_HTTP2_PUSH_DISABLED', 'HTTP/2 client has disabled push streams', Error);
@@ -736,8 +746,12 @@ E('ERR_INVALID_BUFFER_SIZE',
736746
'Buffer size must be a multiple of %s', RangeError);
737747
E('ERR_INVALID_CALLBACK', 'Callback must be a function', TypeError);
738748
E('ERR_INVALID_CHAR', invalidChar, TypeError); //Check falsy "Error" entries.
749+
750+
// This should probably be a `TypeError`.
739751
E('ERR_INVALID_CURSOR_POS',
740752
'Cannot set cursor row without setting its column', Error);
753+
754+
// This should probably be a `TypeError`.
741755
E('ERR_INVALID_DOMAIN_NAME', 'Unable to determine the domain name', Error);
742756
E('ERR_INVALID_FD',
743757
'"fd" must be a positive integer: %s', RangeError);
@@ -747,6 +761,8 @@ E('ERR_INVALID_FILE_URL_HOST',
747761
E('ERR_INVALID_FILE_URL_PATH', 'File URL path %s', TypeError);
748762
E('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent', TypeError);
749763
E('ERR_INVALID_HTTP_TOKEN', '%s must be a valid HTTP token ["%s"]', TypeError);
764+
765+
// The `Error` should probably be a `TypeError`.
750766
E('ERR_INVALID_IP_ADDRESS', 'Invalid IP address: %s', TypeError, [Error]);
751767
E('ERR_INVALID_OPT_VALUE', (name, value) =>
752768
`The value "${String(value)}" is invalid for option "${name}"`,
@@ -756,7 +772,11 @@ E('ERR_INVALID_OPT_VALUE_ENCODING',
756772
'The value "%s" is invalid for option "encoding"', TypeError);
757773
E('ERR_INVALID_PERFORMANCE_MARK',
758774
'The "%s" performance mark has not been set', Error);
775+
776+
// This should probably be a `TypeError`.
759777
E('ERR_INVALID_PROTOCOL', 'Protocol "%s" not supported. Expected "%s"', Error);
778+
779+
// This should probably be a `TypeError`.
760780
E('ERR_INVALID_REPL_EVAL_CONFIG',
761781
'Cannot specify both "breakEvalOnSigint" and "eval" for REPL', Error);
762782
E('ERR_INVALID_SYNC_FORK_INPUT',
@@ -829,13 +849,17 @@ E('ERR_TLS_DH_PARAM_SIZE', 'DH parameter size %s is less than 2048', Error);
829849
E('ERR_TLS_HANDSHAKE_TIMEOUT', 'TLS handshake timeout', Error);
830850
E('ERR_TLS_RENEGOTIATION_DISABLED',
831851
'TLS session renegotiation disabled for this socket', Error);
852+
853+
// This should probably be a `TypeError`.
832854
E('ERR_TLS_REQUIRED_SERVER_NAME',
833855
'"servername" is required parameter for Server.addContext', Error);
834856
E('ERR_TLS_SESSION_ATTACK', 'TLS session renegotiation attack detected', Error);
835857
E('ERR_TLS_SNI_FROM_SERVER',
836858
'Cannot issue SNI from a TLS server-side socket', Error);
837859
E('ERR_TRANSFORM_ALREADY_TRANSFORMING',
838860
'Calling transform done when still transforming', Error);
861+
862+
// This should probably be a `RangeError`.
839863
E('ERR_TRANSFORM_WITH_LENGTH_0',
840864
'Calling transform done when writableState.length != 0', Error);
841865
E('ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET',
@@ -850,14 +874,20 @@ E('ERR_UNHANDLED_ERROR',
850874
return `${msg} (${err})`;
851875
}, Error);
852876
E('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError);
877+
878+
// This should probably be a `TypeError`.
853879
E('ERR_UNKNOWN_FILE_EXTENSION', 'Unknown file extension: %s', Error);
854880
E('ERR_UNKNOWN_MODULE_FORMAT', 'Unknown module format: %s', RangeError);
855881
E('ERR_UNKNOWN_SIGNAL', 'Unknown signal: %s', TypeError);
856882
E('ERR_UNKNOWN_STDIN_TYPE', 'Unknown stdin file type', Error);
883+
884+
// This should probably be a `TypeError`.
857885
E('ERR_UNKNOWN_STREAM_TYPE', 'Unknown stream file type', Error);
858886
E('ERR_V8BREAKITERATOR',
859887
'Full ICU data not installed. See https://github.com/nodejs/node/wiki/Intl',
860888
Error);
889+
890+
// This should probably be a `TypeError`.
861891
E('ERR_VALID_PERFORMANCE_ENTRY_TYPE',
862892
'At least one valid performance entry type is required', Error);
863893
E('ERR_VM_MODULE_ALREADY_LINKED', 'Module has already been linked', Error);

0 commit comments

Comments
 (0)