入门Node.js错误处理

前言一个健壮性的 Node.js 项目,需要处理好程序错误,本文将带你入门 Node.js 的错误处理。Error 基础Node.js 中的错误是 Error 类的任何实例,包括一些内置错误类,还可以扩展基本 Error 类,内置错误类或其他自定义错误来创建用户定义的错误。JavaScript Error 标准类new Error([message[, fileName[, lineNumber]]])message: 描述错误的信息fileName: Error 代码所在的文件名lin
摘要由CSDN通过智能技术生成

前言

一个健壮性的 Node.js 项目,需要处理好程序错误,本文将带你入门 Node.js 的错误处理。

Error 基础

Node.js 中的错误是 Error 类的任何实例,包括一些内置错误类,还可以扩展基本 Error 类,内置错误类或其他自定义错误来创建用户定义的错误。

JavaScript Error 标准类

new Error([message[, fileName[, lineNumber]]])
  • message: 描述错误的信息
  • fileName: Error 代码所在的文件名
  • lineNumber: 调用 Error 构造器所在的文件的行号
const myError = new Error('some error happened')
console.log(myError.message) // some error happened
console.log(myError.name) // Error
console.log(myError.stack) // 'Error: some error happened\n    at <anonymous>:1:17'

除通用 Error 外,JavaScript 还有 6 个其他类型的内置错误对象

  • EvalError: 表示 eval() 有关的错误原因
  • InternalError: 表示JavaScript引擎内部异常错误
  • RangeError: 表示数值变量或参数超出有效范围错误
  • ReferenceError: 表示引用错误
  • SyntaxError: 表示语法错误
  • TypeError: 表示变量或参数类型错误
  • URIError: 表示给 encodeURI()decodeURI()传递的参数无效

这些 Error 对象一旦你抛出它,它就会在堆栈中冒泡,直到在某个地方被捕获到,如果没有捕获到它,它将会变成一个未捕捉到的异常,这可能会导致你的 Node.js 应用程序崩溃。

我们常会遇到的错误类型,往往都是以下的几种情况

  • JavaScript 标准错误
  • 底层操作系统引发的系统错误
  • 应用程序代码触发的用户指定的错误
  • assert 断言模块引发的错误

错误处理

同步错误

Node.js 中发生的同步错误,都可以使用 throw 抛出错误,使用 try/catch 捕获错误,如果没有捕获错误,它将向上冒泡,变成 uncaughtException,从而导致应用程序退出。

异步错误

  1. 使用 callback 这种错误优先的回调函数方式,会将错误作为第一参数传递给回调函数。这种错误不能使用try/cat
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值