util.isError(object)


如果给定的 object<Error>,则返回 true。否则,返回 false

【Returns true if the given object is an <Error>. Otherwise, returns false.】

const util = require('node:util');

util.isError(new Error());
// Returns: true
util.isError(new TypeError());
// Returns: true
util.isError({ name: 'Error', message: 'an error occurred' });
// Returns: false 

这种方法依赖于 Object.prototype.toString() 的行为。当 object 参数操作 @@toStringTag 时,有可能得到不正确的结果。

【This method relies on Object.prototype.toString() behavior. It is possible to obtain an incorrect result when the object argument manipulates @@toStringTag.】

const util = require('node:util');
const obj = { name: 'Error', message: 'an error occurred' };

util.isError(obj);
// Returns: false
obj[Symbol.toStringTag] = 'Error';
util.isError(obj);
// Returns: true