lib: Consistent error messages in all modules
This commit fixes some error messages that are not consistent with some general rules which most of the error messages follow. PR-URL: https://github.com/nodejs/node/pull/3374 Reviewed-By: Roman Reiss <me@silverwind.io>
This commit is contained in:
Родитель
af46112828
Коммит
20285ad177
|
@ -51,10 +51,10 @@ function ClientRequest(options, cb) {
|
|||
// well, and b) possibly too restrictive for real-world usage. That's
|
||||
// why it only scans for spaces because those are guaranteed to create
|
||||
// an invalid request.
|
||||
throw new TypeError('Request path contains unescaped characters.');
|
||||
throw new TypeError('Request path contains unescaped characters');
|
||||
} else if (protocol !== expectedProtocol) {
|
||||
throw new Error('Protocol "' + protocol + '" not supported. ' +
|
||||
'Expected "' + expectedProtocol + '".');
|
||||
'Expected "' + expectedProtocol + '"');
|
||||
}
|
||||
|
||||
const defaultPort = options.defaultPort ||
|
||||
|
|
|
@ -337,11 +337,11 @@ OutgoingMessage.prototype.setHeader = function(name, value) {
|
|||
throw new TypeError(
|
||||
'Header name must be a valid HTTP Token ["' + name + '"]');
|
||||
if (typeof name !== 'string')
|
||||
throw new TypeError('`name` should be a string in setHeader(name, value).');
|
||||
throw new TypeError('"name" should be a string in setHeader(name, value)');
|
||||
if (value === undefined)
|
||||
throw new Error('`value` required in setHeader("' + name + '", value).');
|
||||
throw new Error('"value" required in setHeader("' + name + '", value)');
|
||||
if (this._header)
|
||||
throw new Error('Can\'t set headers after they are sent.');
|
||||
throw new Error('Can\'t set headers after they are sent');
|
||||
|
||||
if (this._headers === null)
|
||||
this._headers = {};
|
||||
|
@ -357,7 +357,7 @@ OutgoingMessage.prototype.setHeader = function(name, value) {
|
|||
|
||||
OutgoingMessage.prototype.getHeader = function(name) {
|
||||
if (arguments.length < 1) {
|
||||
throw new Error('`name` is required for getHeader(name).');
|
||||
throw new Error('"name" argument is required for getHeader(name)');
|
||||
}
|
||||
|
||||
if (!this._headers) return;
|
||||
|
@ -369,11 +369,11 @@ OutgoingMessage.prototype.getHeader = function(name) {
|
|||
|
||||
OutgoingMessage.prototype.removeHeader = function(name) {
|
||||
if (arguments.length < 1) {
|
||||
throw new Error('`name` is required for removeHeader(name).');
|
||||
throw new Error('"name" argument is required for removeHeader(name)');
|
||||
}
|
||||
|
||||
if (this._header) {
|
||||
throw new Error('Can\'t remove headers after they are sent.');
|
||||
throw new Error('Can\'t remove headers after they are sent');
|
||||
}
|
||||
|
||||
var key = name.toLowerCase();
|
||||
|
@ -392,7 +392,7 @@ OutgoingMessage.prototype.removeHeader = function(name) {
|
|||
|
||||
OutgoingMessage.prototype._renderHeaders = function() {
|
||||
if (this._header) {
|
||||
throw new Error('Can\'t render headers after they are sent to the client.');
|
||||
throw new Error('Can\'t render headers after they are sent to the client');
|
||||
}
|
||||
|
||||
var headersMap = this._headers;
|
||||
|
@ -436,7 +436,7 @@ OutgoingMessage.prototype.write = function(chunk, encoding, callback) {
|
|||
}
|
||||
|
||||
if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) {
|
||||
throw new TypeError('first argument must be a string or Buffer');
|
||||
throw new TypeError('First argument must be a string or Buffer');
|
||||
}
|
||||
|
||||
|
||||
|
@ -533,7 +533,7 @@ OutgoingMessage.prototype.end = function(data, encoding, callback) {
|
|||
}
|
||||
|
||||
if (data && typeof data !== 'string' && !(data instanceof Buffer)) {
|
||||
throw new TypeError('first argument must be a string or Buffer');
|
||||
throw new TypeError('First argument must be a string or Buffer');
|
||||
}
|
||||
|
||||
if (this.finished) {
|
||||
|
|
|
@ -889,7 +889,7 @@ function endReadable(stream) {
|
|||
// If we get here before consuming all the bytes, then that is a
|
||||
// bug in node. Should never happen.
|
||||
if (state.length > 0)
|
||||
throw new Error('endReadable called on non-empty stream');
|
||||
throw new Error('"endReadable()" called on non-empty stream');
|
||||
|
||||
if (!state.endEmitted) {
|
||||
state.ended = true;
|
||||
|
|
|
@ -139,7 +139,7 @@ Transform.prototype.push = function(chunk, encoding) {
|
|||
// an error, then that'll put the hurt on the whole operation. If you
|
||||
// never call cb(), then you'll never get another chunk.
|
||||
Transform.prototype._transform = function(chunk, encoding, cb) {
|
||||
throw new Error('not implemented');
|
||||
throw new Error('Not implemented');
|
||||
};
|
||||
|
||||
Transform.prototype._write = function(chunk, encoding, cb) {
|
||||
|
@ -183,10 +183,10 @@ function done(stream, er) {
|
|||
var ts = stream._transformState;
|
||||
|
||||
if (ws.length)
|
||||
throw new Error('calling transform done when ws.length != 0');
|
||||
throw new Error('Calling transform done when ws.length != 0');
|
||||
|
||||
if (ts.transforming)
|
||||
throw new Error('calling transform done when still transforming');
|
||||
throw new Error('Calling transform done when still transforming');
|
||||
|
||||
return stream.push(null);
|
||||
}
|
||||
|
|
|
@ -151,7 +151,7 @@ function Writable(options) {
|
|||
|
||||
// Otherwise people can pipe Writable streams, which is just wrong.
|
||||
Writable.prototype.pipe = function() {
|
||||
this.emit('error', new Error('Cannot pipe. Not readable.'));
|
||||
this.emit('error', new Error('Cannot pipe, not readable'));
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ var Connection = null;
|
|||
try {
|
||||
Connection = process.binding('crypto').Connection;
|
||||
} catch (e) {
|
||||
throw new Error('node.js not compiled with openssl crypto support.');
|
||||
throw new Error('Node.js is not compiled with openssl crypto support');
|
||||
}
|
||||
|
||||
function SlabBuffer() {
|
||||
|
@ -590,7 +590,7 @@ function onhandshakestart() {
|
|||
// state machine and OpenSSL is not re-entrant. We cannot allow the user's
|
||||
// callback to destroy the connection right now, it would crash and burn.
|
||||
setImmediate(function() {
|
||||
var err = new Error('TLS session renegotiation attack detected.');
|
||||
var err = new Error('TLS session renegotiation attack detected');
|
||||
if (self.cleartext) self.cleartext.emit('error', err);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ function onhandshakestart() {
|
|||
// state machine and OpenSSL is not re-entrant. We cannot allow the user's
|
||||
// callback to destroy the connection right now, it would crash and burn.
|
||||
setImmediate(function() {
|
||||
var err = new Error('TLS session renegotiation attack detected.');
|
||||
var err = new Error('TLS session renegotiation attack detected');
|
||||
self._emitTLSError(err);
|
||||
});
|
||||
}
|
||||
|
@ -756,7 +756,7 @@ function Server(/* [options], listener */) {
|
|||
var timeout = options.handshakeTimeout || (120 * 1000);
|
||||
|
||||
if (typeof timeout !== 'number') {
|
||||
throw new TypeError('handshakeTimeout must be a number');
|
||||
throw new TypeError('"handshakeTimeout" option must be a number');
|
||||
}
|
||||
|
||||
if (self.sessionTimeout) {
|
||||
|
@ -902,7 +902,7 @@ Server.prototype.setOptions = function(options) {
|
|||
// SNI Contexts High-Level API
|
||||
Server.prototype.addContext = function(servername, context) {
|
||||
if (!servername) {
|
||||
throw new Error('Servername is required parameter for Server.addContext');
|
||||
throw new Error('"servername" is required parameter for Server.addContext');
|
||||
}
|
||||
|
||||
var re = new RegExp('^' +
|
||||
|
|
|
@ -285,7 +285,7 @@ function _throws(shouldThrow, block, expected, message) {
|
|||
var actual;
|
||||
|
||||
if (typeof block !== 'function') {
|
||||
throw new TypeError('block must be a function');
|
||||
throw new TypeError('"block" argument must be a function');
|
||||
}
|
||||
|
||||
if (typeof expected === 'string') {
|
||||
|
|
|
@ -136,7 +136,7 @@ function fromObject(obj) {
|
|||
}
|
||||
|
||||
if (obj == null) {
|
||||
throw new TypeError('must start with number, buffer, array or string');
|
||||
throw new TypeError('Must start with number, buffer, array or string');
|
||||
}
|
||||
|
||||
if (obj instanceof ArrayBuffer) {
|
||||
|
@ -164,7 +164,7 @@ function fromObject(obj) {
|
|||
return b;
|
||||
}
|
||||
|
||||
throw new TypeError('must start with number, buffer, array or string');
|
||||
throw new TypeError('Must start with number, buffer, array or string');
|
||||
}
|
||||
|
||||
|
||||
|
@ -217,7 +217,7 @@ Buffer.isEncoding = function(encoding) {
|
|||
|
||||
Buffer.concat = function(list, length) {
|
||||
if (!Array.isArray(list))
|
||||
throw new TypeError('list argument must be an Array of Buffers.');
|
||||
throw new TypeError('"list" argument must be an Array of Buffers');
|
||||
|
||||
if (list.length === 0)
|
||||
return new Buffer(0);
|
||||
|
@ -375,7 +375,7 @@ Buffer.prototype.toString = function() {
|
|||
var result = slowToString.apply(this, arguments);
|
||||
}
|
||||
if (result === undefined)
|
||||
throw new Error('toString failed');
|
||||
throw new Error('"toString()" failed');
|
||||
return result;
|
||||
};
|
||||
|
||||
|
@ -462,7 +462,7 @@ Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
|
|||
return binding.indexOfNumber(this, val, byteOffset);
|
||||
}
|
||||
|
||||
throw new TypeError('val must be string, number or Buffer');
|
||||
throw new TypeError('"val" argument must be string, number or Buffer');
|
||||
};
|
||||
|
||||
|
||||
|
@ -471,7 +471,7 @@ Buffer.prototype.fill = function fill(val, start, end) {
|
|||
end = (end === undefined) ? this.length : end >> 0;
|
||||
|
||||
if (start < 0 || end > this.length)
|
||||
throw new RangeError('out of range index');
|
||||
throw new RangeError('Out of range index');
|
||||
if (end <= start)
|
||||
return this;
|
||||
|
||||
|
@ -493,7 +493,7 @@ Buffer.prototype.fill = function fill(val, start, end) {
|
|||
Buffer.prototype.get = internalUtil.deprecate(function get(offset) {
|
||||
offset = ~~offset;
|
||||
if (offset < 0 || offset >= this.length)
|
||||
throw new RangeError('index out of range');
|
||||
throw new RangeError('Index out of range');
|
||||
return this[offset];
|
||||
}, 'Buffer.get is deprecated. Use array indexes instead.');
|
||||
|
||||
|
@ -502,7 +502,7 @@ Buffer.prototype.get = internalUtil.deprecate(function get(offset) {
|
|||
Buffer.prototype.set = internalUtil.deprecate(function set(offset, v) {
|
||||
offset = ~~offset;
|
||||
if (offset < 0 || offset >= this.length)
|
||||
throw new RangeError('index out of range');
|
||||
throw new RangeError('Index out of range');
|
||||
return this[offset] = v;
|
||||
}, 'Buffer.set is deprecated. Use array indexes instead.');
|
||||
|
||||
|
@ -552,7 +552,7 @@ Buffer.prototype.write = function(string, offset, length, encoding) {
|
|||
length = remaining;
|
||||
|
||||
if (string.length > 0 && (length < 0 || offset < 0))
|
||||
throw new RangeError('attempt to write outside buffer bounds');
|
||||
throw new RangeError('Attempt to write outside buffer bounds');
|
||||
|
||||
if (!encoding)
|
||||
encoding = 'utf8';
|
||||
|
@ -612,7 +612,7 @@ Buffer.prototype.slice = function slice(start, end) {
|
|||
|
||||
function checkOffset(offset, ext, length) {
|
||||
if (offset + ext > length)
|
||||
throw new RangeError('index out of range');
|
||||
throw new RangeError('Index out of range');
|
||||
}
|
||||
|
||||
|
||||
|
@ -820,11 +820,11 @@ Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
|
|||
|
||||
function checkInt(buffer, value, offset, ext, max, min) {
|
||||
if (!(buffer instanceof Buffer))
|
||||
throw new TypeError('buffer must be a Buffer instance');
|
||||
throw new TypeError('"buffer" argument must be a Buffer instance');
|
||||
if (value > max || value < min)
|
||||
throw new TypeError('value is out of bounds');
|
||||
throw new TypeError('"value" argument is out of bounds');
|
||||
if (offset + ext > buffer.length)
|
||||
throw new RangeError('index out of range');
|
||||
throw new RangeError('Index out of range');
|
||||
}
|
||||
|
||||
|
||||
|
@ -1030,9 +1030,9 @@ Buffer.prototype.writeInt32BE = function(value, offset, noAssert) {
|
|||
|
||||
function checkFloat(buffer, value, offset, ext) {
|
||||
if (!(buffer instanceof Buffer))
|
||||
throw new TypeError('buffer must be a Buffer instance');
|
||||
throw new TypeError('"buffer" argument must be a Buffer instance');
|
||||
if (offset + ext > buffer.length)
|
||||
throw new RangeError('index out of range');
|
||||
throw new RangeError('Index out of range');
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -251,7 +251,7 @@ exports.execFile = function(file /*, args, options, callback*/) {
|
|||
stdoutLen += chunk.length;
|
||||
|
||||
if (stdoutLen > options.maxBuffer) {
|
||||
ex = new Error('stdout maxBuffer exceeded.');
|
||||
ex = new Error('stdout maxBuffer exceeded');
|
||||
kill();
|
||||
} else {
|
||||
if (!encoding)
|
||||
|
@ -265,7 +265,7 @@ exports.execFile = function(file /*, args, options, callback*/) {
|
|||
stderrLen += chunk.length;
|
||||
|
||||
if (stderrLen > options.maxBuffer) {
|
||||
ex = new Error('stderr maxBuffer exceeded.');
|
||||
ex = new Error('stderr maxBuffer exceeded');
|
||||
kill();
|
||||
} else {
|
||||
if (!encoding)
|
||||
|
@ -316,7 +316,7 @@ function normalizeSpawnArguments(file /*, args, options*/) {
|
|||
if (options === undefined)
|
||||
options = {};
|
||||
else if (options === null || typeof options !== 'object')
|
||||
throw new TypeError('options argument must be an object');
|
||||
throw new TypeError('"options" argument must be an object');
|
||||
|
||||
options = util._extend({}, options);
|
||||
args.unshift(file);
|
||||
|
|
|
@ -12,7 +12,7 @@ try {
|
|||
var getHashes = binding.getHashes;
|
||||
var getCurves = binding.getCurves;
|
||||
} catch (e) {
|
||||
throw new Error('node.js not compiled with openssl crypto support.');
|
||||
throw new Error('Node.js is not compiled with openssl crypto support');
|
||||
}
|
||||
|
||||
const Buffer = require('buffer').Buffer;
|
||||
|
@ -486,7 +486,7 @@ DiffieHellman.prototype.setPrivateKey = function(key, encoding) {
|
|||
|
||||
function ECDH(curve) {
|
||||
if (typeof curve !== 'string')
|
||||
throw new TypeError('curve should be a string');
|
||||
throw new TypeError('"curve" argument should be a string');
|
||||
|
||||
this._handle = new binding.ECDH(curve);
|
||||
}
|
||||
|
@ -604,10 +604,10 @@ Certificate.prototype.exportChallenge = function(object, encoding) {
|
|||
|
||||
exports.setEngine = function setEngine(id, flags) {
|
||||
if (typeof id !== 'string')
|
||||
throw new TypeError('id should be a string');
|
||||
throw new TypeError('"id" argument should be a string');
|
||||
|
||||
if (flags && typeof flags !== 'number')
|
||||
throw new TypeError('flags should be a number, if present');
|
||||
throw new TypeError('"flags" argument should be a number, if present');
|
||||
flags = flags >>> 0;
|
||||
|
||||
// Use provided engine for everything by default
|
||||
|
|
|
@ -54,7 +54,7 @@ function newHandle(type) {
|
|||
}
|
||||
|
||||
if (type == 'unix_dgram')
|
||||
throw new Error('unix_dgram sockets are not supported any more.');
|
||||
throw new Error('"unix_dgram" type sockets are not supported any more');
|
||||
|
||||
throw new Error('Bad socket type specified. Valid types are: udp4, udp6');
|
||||
}
|
||||
|
@ -233,7 +233,7 @@ Socket.prototype.sendto = function(buffer,
|
|||
address,
|
||||
callback) {
|
||||
if (typeof offset !== 'number' || typeof length !== 'number')
|
||||
throw new Error('send takes offset and length as args 2 and 3');
|
||||
throw new Error('Send takes "offset" and "length" as args 2 and 3');
|
||||
|
||||
if (typeof address !== 'string')
|
||||
throw new Error(this.type + ' sockets must send to port, address');
|
||||
|
@ -254,7 +254,7 @@ Socket.prototype.send = function(buffer,
|
|||
buffer = new Buffer(buffer);
|
||||
|
||||
if (!(buffer instanceof Buffer))
|
||||
throw new TypeError('First argument must be a buffer or string.');
|
||||
throw new TypeError('First argument must be a buffer or string');
|
||||
|
||||
offset = offset | 0;
|
||||
if (offset < 0)
|
||||
|
@ -262,7 +262,7 @@ Socket.prototype.send = function(buffer,
|
|||
|
||||
if ((length == 0 && offset > buffer.length) ||
|
||||
(length > 0 && offset >= buffer.length))
|
||||
throw new RangeError('Offset into buffer too large');
|
||||
throw new RangeError('Offset into buffer is too large');
|
||||
|
||||
// Sending a zero-length datagram is kind of pointless but it _is_
|
||||
// allowed, hence check that length >= 0 rather than > 0.
|
||||
|
|
18
lib/dns.js
18
lib/dns.js
|
@ -110,13 +110,13 @@ exports.lookup = function lookup(hostname, options, callback) {
|
|||
|
||||
// Parse arguments
|
||||
if (hostname && typeof hostname !== 'string') {
|
||||
throw new TypeError('invalid arguments: ' +
|
||||
throw new TypeError('Invalid arguments: ' +
|
||||
'hostname must be a string or falsey');
|
||||
} else if (typeof options === 'function') {
|
||||
callback = options;
|
||||
family = 0;
|
||||
} else if (typeof callback !== 'function') {
|
||||
throw new TypeError('invalid arguments: callback must be passed');
|
||||
throw new TypeError('Invalid arguments: callback must be passed');
|
||||
} else if (options !== null && typeof options === 'object') {
|
||||
hints = options.hints >>> 0;
|
||||
family = options.family >>> 0;
|
||||
|
@ -126,14 +126,14 @@ exports.lookup = function lookup(hostname, options, callback) {
|
|||
hints !== exports.ADDRCONFIG &&
|
||||
hints !== exports.V4MAPPED &&
|
||||
hints !== (exports.ADDRCONFIG | exports.V4MAPPED)) {
|
||||
throw new TypeError('invalid argument: hints must use valid flags');
|
||||
throw new TypeError('Invalid argument: hints must use valid flags');
|
||||
}
|
||||
} else {
|
||||
family = options >>> 0;
|
||||
}
|
||||
|
||||
if (family !== 0 && family !== 4 && family !== 6)
|
||||
throw new TypeError('invalid argument: family must be 4 or 6');
|
||||
throw new TypeError('Invalid argument: family must be 4 or 6');
|
||||
|
||||
callback = makeAsync(callback);
|
||||
|
||||
|
@ -184,10 +184,10 @@ function onlookupservice(err, host, service) {
|
|||
// lookupService(address, port, callback)
|
||||
exports.lookupService = function(host, port, callback) {
|
||||
if (arguments.length !== 3)
|
||||
throw new Error('invalid arguments');
|
||||
throw new Error('Invalid arguments');
|
||||
|
||||
if (cares.isIP(host) === 0)
|
||||
throw new TypeError('host needs to be a valid IP address');
|
||||
throw new TypeError('"host" argument needs to be a valid IP address');
|
||||
|
||||
callback = makeAsync(callback);
|
||||
|
||||
|
@ -218,9 +218,9 @@ function resolver(bindingName) {
|
|||
|
||||
return function query(name, callback) {
|
||||
if (typeof name !== 'string') {
|
||||
throw new Error('Name must be a string');
|
||||
throw new Error('"name" argument must be a string');
|
||||
} else if (typeof callback !== 'function') {
|
||||
throw new Error('Callback must be a function');
|
||||
throw new Error('"callback" argument must be a function');
|
||||
}
|
||||
|
||||
callback = makeAsync(callback);
|
||||
|
@ -259,7 +259,7 @@ exports.resolve = function(hostname, type_, callback_) {
|
|||
resolver = exports.resolve4;
|
||||
callback = type_;
|
||||
} else {
|
||||
throw new Error('Type must be a string');
|
||||
throw new Error('"type" argument must be a string');
|
||||
}
|
||||
|
||||
if (typeof resolver === 'function') {
|
||||
|
|
|
@ -42,7 +42,7 @@ EventEmitter.init = function() {
|
|||
// that to be increased. Set to zero for unlimited.
|
||||
EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
|
||||
if (typeof n !== 'number' || n < 0 || isNaN(n))
|
||||
throw new TypeError('n must be a positive number');
|
||||
throw new TypeError('"n" argument must be a positive number');
|
||||
this._maxListeners = n;
|
||||
return this;
|
||||
};
|
||||
|
@ -132,7 +132,7 @@ EventEmitter.prototype.emit = function emit(type) {
|
|||
er = arguments[1];
|
||||
if (domain) {
|
||||
if (!er)
|
||||
er = new Error('Uncaught, unspecified "error" event.');
|
||||
er = new Error('Uncaught, unspecified "error" event');
|
||||
er.domainEmitter = this;
|
||||
er.domain = domain;
|
||||
er.domainThrown = false;
|
||||
|
@ -194,7 +194,7 @@ EventEmitter.prototype.addListener = function addListener(type, listener) {
|
|||
var existing;
|
||||
|
||||
if (typeof listener !== 'function')
|
||||
throw new TypeError('listener must be a function');
|
||||
throw new TypeError('"listener" argument must be a function');
|
||||
|
||||
events = this._events;
|
||||
if (!events) {
|
||||
|
@ -248,7 +248,7 @@ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
|
|||
|
||||
EventEmitter.prototype.once = function once(type, listener) {
|
||||
if (typeof listener !== 'function')
|
||||
throw new TypeError('listener must be a function');
|
||||
throw new TypeError('"listener" argument must be a function');
|
||||
|
||||
var fired = false;
|
||||
|
||||
|
@ -273,7 +273,7 @@ EventEmitter.prototype.removeListener =
|
|||
var list, events, position, i;
|
||||
|
||||
if (typeof listener !== 'function')
|
||||
throw new TypeError('listener must be a function');
|
||||
throw new TypeError('"listener" argument must be a function');
|
||||
|
||||
events = this._events;
|
||||
if (!events)
|
||||
|
|
24
lib/fs.js
24
lib/fs.js
|
@ -75,7 +75,7 @@ function makeCallback(cb) {
|
|||
}
|
||||
|
||||
if (typeof cb !== 'function') {
|
||||
throw new TypeError('callback must be a function');
|
||||
throw new TypeError('"callback" argument must be a function');
|
||||
}
|
||||
|
||||
return function() {
|
||||
|
@ -91,7 +91,7 @@ function assertEncoding(encoding) {
|
|||
|
||||
function nullCheck(path, callback) {
|
||||
if (('' + path).indexOf('\u0000') !== -1) {
|
||||
var er = new Error('Path must be a string without null bytes.');
|
||||
var er = new Error('Path must be a string without null bytes');
|
||||
er.code = 'ENOENT';
|
||||
if (typeof callback !== 'function')
|
||||
throw er;
|
||||
|
@ -184,7 +184,7 @@ fs.access = function(path, mode, callback) {
|
|||
callback = mode;
|
||||
mode = fs.F_OK;
|
||||
} else if (typeof callback !== 'function') {
|
||||
throw new TypeError('callback must be a function');
|
||||
throw new TypeError('"callback" argument must be a function');
|
||||
}
|
||||
|
||||
if (!nullCheck(path, callback))
|
||||
|
@ -1410,7 +1410,7 @@ fs.watchFile = function(filename, options, listener) {
|
|||
}
|
||||
|
||||
if (typeof listener !== 'function') {
|
||||
throw new Error('watchFile requires a listener function');
|
||||
throw new Error('"watchFile()" requires a listener function');
|
||||
}
|
||||
|
||||
stat = statWatchers.get(filename);
|
||||
|
@ -1703,7 +1703,7 @@ function ReadStream(path, options) {
|
|||
else if (typeof options === 'string')
|
||||
options = { encoding: options };
|
||||
else if (options === null || typeof options !== 'object')
|
||||
throw new TypeError('options must be a string or an object');
|
||||
throw new TypeError('"options" argument must be a string or an object');
|
||||
|
||||
// a little bit bigger buffer and water marks by default
|
||||
options = Object.create(options);
|
||||
|
@ -1724,16 +1724,16 @@ function ReadStream(path, options) {
|
|||
|
||||
if (this.start !== undefined) {
|
||||
if (typeof this.start !== 'number') {
|
||||
throw new TypeError('start must be a Number');
|
||||
throw new TypeError('"start" option must be a Number');
|
||||
}
|
||||
if (this.end === undefined) {
|
||||
this.end = Infinity;
|
||||
} else if (typeof this.end !== 'number') {
|
||||
throw new TypeError('end must be a Number');
|
||||
throw new TypeError('"end" option must be a Number');
|
||||
}
|
||||
|
||||
if (this.start > this.end) {
|
||||
throw new Error('start must be <= end');
|
||||
throw new Error('"start" option must be <= "end" option');
|
||||
}
|
||||
|
||||
this.pos = this.start;
|
||||
|
@ -1874,7 +1874,7 @@ function WriteStream(path, options) {
|
|||
else if (typeof options === 'string')
|
||||
options = { encoding: options };
|
||||
else if (options === null || typeof options !== 'object')
|
||||
throw new TypeError('options must be a string or an object');
|
||||
throw new TypeError('"options" argument must be a string or an object');
|
||||
|
||||
options = Object.create(options);
|
||||
|
||||
|
@ -1891,10 +1891,10 @@ function WriteStream(path, options) {
|
|||
|
||||
if (this.start !== undefined) {
|
||||
if (typeof this.start !== 'number') {
|
||||
throw new TypeError('start must be a Number');
|
||||
throw new TypeError('"start" option must be a Number');
|
||||
}
|
||||
if (this.start < 0) {
|
||||
throw new Error('start must be >= zero');
|
||||
throw new Error('"start" must be >= zero');
|
||||
}
|
||||
|
||||
this.pos = this.start;
|
||||
|
@ -2036,7 +2036,7 @@ SyncWriteStream.prototype.write = function(data, arg1, arg2) {
|
|||
} else if (typeof arg1 === 'function') {
|
||||
cb = arg1;
|
||||
} else {
|
||||
throw new Error('bad arg');
|
||||
throw new Error('Bad arguments');
|
||||
}
|
||||
}
|
||||
assertEncoding(encoding);
|
||||
|
|
|
@ -519,7 +519,7 @@ function setupChannel(target, channel) {
|
|||
assert(this.connected || this._channel);
|
||||
|
||||
if (message === undefined)
|
||||
throw new TypeError('message cannot be undefined');
|
||||
throw new TypeError('"message" argument cannot be undefined');
|
||||
|
||||
// package messages with a handle object
|
||||
if (handle) {
|
||||
|
@ -541,7 +541,7 @@ function setupChannel(target, channel) {
|
|||
} else if (handle instanceof UDP) {
|
||||
message.type = 'dgram.Native';
|
||||
} else {
|
||||
throw new TypeError("This handle type can't be sent");
|
||||
throw new TypeError('This handle type can\'t be sent');
|
||||
}
|
||||
|
||||
// Queue-up message and handle if we haven't received ACK yet.
|
||||
|
|
19
lib/net.js
19
lib/net.js
|
@ -614,7 +614,7 @@ Socket.prototype.__defineGetter__('localPort', function() {
|
|||
|
||||
Socket.prototype.write = function(chunk, encoding, cb) {
|
||||
if (typeof chunk !== 'string' && !(chunk instanceof Buffer))
|
||||
throw new TypeError('invalid data');
|
||||
throw new TypeError('Invalid data');
|
||||
return stream.Duplex.prototype.write.apply(this, arguments);
|
||||
};
|
||||
|
||||
|
@ -637,7 +637,7 @@ Socket.prototype._writeGeneric = function(writev, data, encoding, cb) {
|
|||
this._unrefTimer();
|
||||
|
||||
if (!this._handle) {
|
||||
this._destroy(new Error('This socket is closed.'), cb);
|
||||
this._destroy(new Error('This socket is closed'), cb);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -915,16 +915,18 @@ function lookupAndConnect(self, options) {
|
|||
var localPort = options.localPort;
|
||||
|
||||
if (localAddress && !exports.isIP(localAddress))
|
||||
throw new TypeError('localAddress must be a valid IP: ' + localAddress);
|
||||
throw new TypeError('"localAddress" option must be a valid IP: ' +
|
||||
localAddress);
|
||||
|
||||
if (localPort && typeof localPort !== 'number')
|
||||
throw new TypeError('localPort should be a number: ' + localPort);
|
||||
throw new TypeError('"localPort" option should be a number: ' + localPort);
|
||||
|
||||
if (typeof port !== 'undefined') {
|
||||
if (typeof port !== 'number' && typeof port !== 'string')
|
||||
throw new TypeError('port should be a number or string: ' + port);
|
||||
throw new TypeError('"port" option should be a number or string: ' +
|
||||
port);
|
||||
if (!isLegalPort(port))
|
||||
throw new RangeError('port should be >= 0 and < 65536: ' + port);
|
||||
throw new RangeError('"port" option should be >= 0 and < 65536: ' + port);
|
||||
}
|
||||
port |= 0;
|
||||
|
||||
|
@ -940,7 +942,7 @@ function lookupAndConnect(self, options) {
|
|||
}
|
||||
|
||||
if (options.lookup && typeof options.lookup !== 'function')
|
||||
throw new TypeError('options.lookup should be a function.');
|
||||
throw new TypeError('"lookup" option should be a function');
|
||||
|
||||
var dnsopts = {
|
||||
family: options.family,
|
||||
|
@ -1342,7 +1344,8 @@ Server.prototype.listen = function() {
|
|||
// Undefined is interpreted as zero (random port) for consistency
|
||||
// with net.connect().
|
||||
if (typeof h.port !== 'undefined' && !isLegalPort(h.port))
|
||||
throw new RangeError('port should be >= 0 and < 65536: ' + h.port);
|
||||
throw new RangeError('"port" option should be >= 0 and < 65536: ' +
|
||||
h.port);
|
||||
if (h.host)
|
||||
listenAfterLookup(h.port | 0, h.host, backlog, h.exclusive);
|
||||
else
|
||||
|
|
10
lib/path.js
10
lib/path.js
|
@ -338,7 +338,7 @@ win32.dirname = function(path) {
|
|||
|
||||
win32.basename = function(path, ext) {
|
||||
if (ext !== undefined && typeof ext !== 'string')
|
||||
throw new TypeError('ext must be a string');
|
||||
throw new TypeError('"ext" argument must be a string');
|
||||
|
||||
var f = win32SplitPath(path)[2];
|
||||
// TODO: make this comparison case-insensitive on windows?
|
||||
|
@ -357,7 +357,7 @@ win32.extname = function(path) {
|
|||
win32.format = function(pathObject) {
|
||||
if (pathObject === null || typeof pathObject !== 'object') {
|
||||
throw new TypeError(
|
||||
"Parameter 'pathObject' must be an object, not " + typeof pathObject
|
||||
'Parameter "pathObject" must be an object, not ' + typeof pathObject
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -365,7 +365,7 @@ win32.format = function(pathObject) {
|
|||
|
||||
if (typeof root !== 'string') {
|
||||
throw new TypeError(
|
||||
"'pathObject.root' must be a string or undefined, not " +
|
||||
'"pathObject.root" must be a string or undefined, not ' +
|
||||
typeof pathObject.root
|
||||
);
|
||||
}
|
||||
|
@ -547,7 +547,7 @@ posix.dirname = function(path) {
|
|||
|
||||
posix.basename = function(path, ext) {
|
||||
if (ext !== undefined && typeof ext !== 'string')
|
||||
throw new TypeError('ext must be a string');
|
||||
throw new TypeError('"ext" argument must be a string');
|
||||
|
||||
var f = posixSplitPath(path)[2];
|
||||
|
||||
|
@ -574,7 +574,7 @@ posix.format = function(pathObject) {
|
|||
|
||||
if (typeof root !== 'string') {
|
||||
throw new TypeError(
|
||||
"'pathObject.root' must be a string or undefined, not " +
|
||||
'"pathObject.root" must be a string or undefined, not ' +
|
||||
typeof pathObject.root
|
||||
);
|
||||
}
|
||||
|
|
|
@ -50,13 +50,13 @@ function Interface(input, output, completer, terminal) {
|
|||
historySize = historySize || kHistorySize;
|
||||
|
||||
if (completer && typeof completer !== 'function') {
|
||||
throw new TypeError('Argument \'completer\' must be a function');
|
||||
throw new TypeError('Argument "completer" must be a function');
|
||||
}
|
||||
|
||||
if (typeof historySize !== 'number' ||
|
||||
isNaN(historySize) ||
|
||||
historySize < 0) {
|
||||
throw new TypeError('Argument \'historySize\' must be a positive number');
|
||||
throw new TypeError('Argument "historySize" must be a positive number');
|
||||
}
|
||||
|
||||
// backwards compat; check the isTTY prop of the output stream
|
||||
|
@ -213,7 +213,7 @@ Interface.prototype._onLine = function(line) {
|
|||
|
||||
Interface.prototype._writeToOutput = function _writeToOutput(stringToWrite) {
|
||||
if (typeof stringToWrite !== 'string')
|
||||
throw new TypeError('stringToWrite must be a string');
|
||||
throw new TypeError('"stringToWrite" argument must be a string');
|
||||
|
||||
if (this.output !== null && this.output !== undefined)
|
||||
this.output.write(stringToWrite);
|
||||
|
@ -1270,7 +1270,7 @@ function cursorTo(stream, x, y) {
|
|||
return;
|
||||
|
||||
if (typeof x !== 'number')
|
||||
throw new Error("Can't set cursor row without also setting it's column");
|
||||
throw new Error('Can\'t set cursor row without also setting it\'s column');
|
||||
|
||||
if (typeof y !== 'number') {
|
||||
stream.write('\x1b[' + (x + 1) + 'G');
|
||||
|
|
|
@ -897,7 +897,7 @@ REPLServer.prototype.defineCommand = function(keyword, cmd) {
|
|||
if (typeof cmd === 'function') {
|
||||
cmd = {action: cmd};
|
||||
} else if (typeof cmd.action !== 'function') {
|
||||
throw new Error('bad argument, action must be a function');
|
||||
throw new Error('Bad argument, "action" command must be a function');
|
||||
}
|
||||
this.commands[keyword] = cmd;
|
||||
};
|
||||
|
|
|
@ -149,11 +149,12 @@ const unenroll = exports.unenroll = function(item) {
|
|||
// Does not start the time, just sets up the members needed.
|
||||
exports.enroll = function(item, msecs) {
|
||||
if (typeof msecs !== 'number') {
|
||||
throw new TypeError('msecs must be a number');
|
||||
throw new TypeError('"msecs" argument must be a number');
|
||||
}
|
||||
|
||||
if (msecs < 0 || !isFinite(msecs)) {
|
||||
throw new RangeError('msecs must be a non-negative finite number');
|
||||
throw new RangeError('"msecs" argument must be ' +
|
||||
'a non-negative finite number');
|
||||
}
|
||||
|
||||
// if this item was already in a list somewhere
|
||||
|
|
|
@ -17,7 +17,7 @@ exports.isatty = function(fd) {
|
|||
// backwards-compat
|
||||
exports.setRawMode = internalUtil.deprecate(function(flag) {
|
||||
if (!process.stdin.isTTY) {
|
||||
throw new Error('can\'t set raw mode on non-tty');
|
||||
throw new Error('Can\'t set raw mode on non-tty');
|
||||
}
|
||||
process.stdin.setRawMode(flag);
|
||||
}, 'tty.setRawMode is deprecated. ' +
|
||||
|
|
|
@ -87,7 +87,7 @@ function urlParse(url, parseQueryString, slashesDenoteHost) {
|
|||
|
||||
Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {
|
||||
if (typeof url !== 'string') {
|
||||
throw new TypeError("Parameter 'url' must be a string, not " + typeof url);
|
||||
throw new TypeError('Parameter "url" must be a string, not ' + typeof url);
|
||||
}
|
||||
|
||||
// Copy chrome, IE, opera backslash-handling behavior.
|
||||
|
@ -354,7 +354,7 @@ function urlFormat(obj) {
|
|||
if (typeof obj === 'string') obj = urlParse(obj);
|
||||
|
||||
else if (typeof obj !== 'object' || obj === null)
|
||||
throw new TypeError("Parameter 'urlObj' must be an object, not " +
|
||||
throw new TypeError('Parameter "urlObj" must be an object, not ' +
|
||||
obj === null ? 'null' : typeof obj);
|
||||
|
||||
else if (!(obj instanceof Url)) return Url.prototype.format.call(obj);
|
||||
|
|
12
lib/util.js
12
lib/util.js
|
@ -745,16 +745,16 @@ exports.log = function() {
|
|||
exports.inherits = function(ctor, superCtor) {
|
||||
|
||||
if (ctor === undefined || ctor === null)
|
||||
throw new TypeError('The constructor to `inherits` must not be ' +
|
||||
'null or undefined.');
|
||||
throw new TypeError('The constructor to "inherits" must not be ' +
|
||||
'null or undefined');
|
||||
|
||||
if (superCtor === undefined || superCtor === null)
|
||||
throw new TypeError('The super constructor to `inherits` must not ' +
|
||||
'be null or undefined.');
|
||||
throw new TypeError('The super constructor to "inherits" must not ' +
|
||||
'be null or undefined');
|
||||
|
||||
if (superCtor.prototype === undefined)
|
||||
throw new TypeError('The super constructor to `inherits` must ' +
|
||||
'have a prototype.');
|
||||
throw new TypeError('The super constructor to "inherits" must ' +
|
||||
'have a prototype');
|
||||
|
||||
ctor.super_ = superCtor;
|
||||
Object.setPrototypeOf(ctor.prototype, superCtor.prototype);
|
||||
|
|
|
@ -7,7 +7,7 @@ const util = require('util');
|
|||
const assert = require('assert').ok;
|
||||
const kMaxLength = require('buffer').kMaxLength;
|
||||
const kRangeErrorMessage = 'Cannot create final Buffer. ' +
|
||||
'It would be larger than 0x' + kMaxLength.toString(16) + ' bytes.';
|
||||
'It would be larger than 0x' + kMaxLength.toString(16) + ' bytes';
|
||||
|
||||
// zlib doesn't provide these, so kludge them in following the same
|
||||
// const naming scheme zlib uses.
|
||||
|
|
Загрузка…
Ссылка в новой задаче