📜  Node.js 新的 Error() 方法

📅  最后修改于: 2022-05-13 01:56:51.648000             🧑  作者: Mango

Node.js 新的 Error() 方法

对于生成和处理错误,Node.js 支持在运行应用程序期间发生的许多机制,并且它是一个内置应用程序,因此我们不导入任何库。 Node.js 引发的所有系统错误都继承自 JavaScript 的 < Error > 类,并提供该类中可用的最少属性。

新的 Error()方法是 Node 模块的内置应用程序编程接口,其中创建了一个新的 Error 对象,并将error.message属性设置为提供的文本消息。通过调用message.toString() ,如果对象作为消息传递,则会生成文本消息。另一个属性error.stack表示代码中调用new Error()的点,该属性的堆栈跟踪依赖于V8的堆栈跟踪 API。

句法:

new Error(message)

参数:此函数接受如上所述和如下所述的单个参数:

  • message < 字符串 > 它接受抛出错误时在控制台中显示的消息。

返回值<错误>:它返回作为参数传递的消息值中定义的特定错误。

下面的例子说明了 Node.js 中新的 Error(message)方法的使用。

示例 1:文件名:index.js

// Node.js program to demonstrate the 
// the new Error() method 
  
// Creating new Error along with 
// passing an error message
const error = new Error(
'Error Message: Hey geek, Error is working all fine..');
  
// Printing error message
console.log(error.message);
  
// Printing error stack
console.log(error.stack);
  
// Printing the error in console
console.log(error);

使用以下命令运行index.js文件:

node index.js

输出:

示例 2:文件名:index.js

// Node.js program to demonstrate the 
// the new Error() method 
  
// Creating new object
const newObjectError = {};
  
// Creating Errors along with 
// passing error message
const error = new Error(
'Error Message: Hey Geek, Error is working fine...');
  
const error1 = new Error();
const error2 = new Error();
  
// Printing the stck trace limit
console.log(">> ", Error.stackTraceLimit);
  
// Printing error message
console.log(">> ", error.message);
  
// Printing the error in console
// console.log(error1);
  
// Another way to create error regarding any object
Error.captureStackTrace(newObjectError);
  
// Inspecting the error
console.log(">> ", require('util').inspect(error1));
  
if (error1.stack == newObjectError.stack) {
    console.log(">> ", "Different Errors can be compared");
} else {
    console.log(">> ", "Errors can't be compared");
}
  
// Comparing two equal Errors
if (error1.stack === error2.stack) {
    console.log(">> ", "Equal Errors can be compared");
} else {
    console.log(">> ", "Errors can't be compared");
}

使用以下命令运行index.js文件:

node index.js

输出:

参考: https://nodejs.org/api/errors.html#errors_new_error_message