Node.js 如何预防TypeError错误

Node.js 如何预防TypeError错误

在本文中,我们将学习如何在代码中预防任何类型的TypeError错误,并在Node.js中处理它们。

TypeError错误的原因有很多:

  • 将一个值称为函数
  • 将一个对象称为函数
  • 在条件循环中迭代一个数字

将一个值当作函数调用: 假设有一个名为num的变量,并且我们将值8存储在其中,当我们将num变量作为函数调用时,实际上它不是一个函数,而只是一个容纳值的变量,那么你会收到一个名为”num is not a function”的TypeError错误。

示例: 让我们通过一个错误的示例来加深理解:

代码

let num = 7; 
num(); 
  
let string = "My name is Prince Kumar"; 
string();

输出:

TypeError: num is not a function

调用对象作为函数: 假设我们声明了一个名为obj的空对象,并且我们打算将其作为函数调用,那么将会收到一个 TypeError 错误,错误信息为 Obj不是一个函数。

示例: 让我们通过一个错误示例来理解:

// We have defined an empty object with name obj 
let obj = {}; 
obj();

输出:

TypeError: obj is not a function

使用条件循环迭代一个数字: 假设我们已经声明了一个带有命名数字的变量,我们试图迭代整数数字,那么将会收到一个 TypeError 并显示错误信息: 数字不可迭代。

示例: 让我们通过一个错误示例来理解:

let number = 1234679; 
for(value of number){ 
    console.log(value); 
}

输出:

TypeError: number is not iterable

防止TypeError的方法:

  • 通过使用try-catch方法
  • 通过检查响应的状态码

1. 通过使用try-catch方法: try-catch方法帮助我们检测TypeError的名称以及为何给出该TypeError的原因。

语法:

try{
    // set of statements
} catch(e){
    // print e.name means it will tell you the name of error
    // print e.message it will give you the description about the error
}

示例: 让我们看一下下面解释的实现:

try{ 
    let num = 7; 
    num(); 
} catch(e){ 
    console.log("Name of Error: ",e.name); 
    console.log("Description about Error: ", e.message); 
} 

输出:

Name of Error:  TypeError
Description about Error:  num is not a function

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程