浅析Node是如何进行错误处理的,先睹为快

Error定义了Node中常见的错误类型,我们可以使用Error进行错误的抛出。Error模块里面包含了一个堆栈轨迹用于描述Error是从哪里产生的,一般来说我们可以准确知道错误发生在哪一部分的代码当中,根据错误的描述信息可以快速定位到错误。

var fs = require(“fs”);

fs.readFile(“file”,function(err,data){

if(err){

throw new Error(“Error!”)

}

})

Node程序中产生的所有Error都是使用Error类的实例或者继承自Error类。我们在程序代码不中不仅可以使用回调函数自带的Error模块,而且我们可以显示第捕获错误。比如当你知道逻辑代码运行都某一部分是不对的,应该进行错误的捕获和提醒,你就可以使用:

throw new Error(“自定义错误信息!”)

03 错误捕获方式



接下来就简单介绍一下Node中我们是如何进行错误捕获的,总的来说我们可以有以下三种方式,try/catch、callback、event。之前我们常用的try/catch方式只适用于同步的调用情况,但是我们知道node中会出现很多的异步调用方式。

try/catch

首先我们应该了解的是在异步操作当中该方法是无法捕获错误的,主要原因就是因为异步调用返回时,代码的上下文已经改变,回调函数当中的代码已经脱离了try/catch的范围,所以是无法捕获的。

同步调用情况:

//这里可以捕获

try{

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值