为什么老出现网络错误,为什么老出现网络故障

  

  一、Node.js 的 Error 一般分为四种类型:误差的类型   

  

  1.标准JavaScript错误,如EvalError、SyntaxError、RangeError、ReferenceError、TypeError或URIError。   

  

  2.由底层操作系统触发的系统错误,如试图打开不存在的文件或试图使用关闭的套接字发送数据。   

  

  3.应用程序代码触发的用户定义的错误。   

  

  4.AssertionError错误,当Node.js检测到不应该发生的异常逻辑时触发。这种错误通常来自断言模块。   

  

     

  

  二。错误捕获实践Node.js在应用程序出现错误时有三种捕获方法。   

  

  (1)try…catch   

  

  通常,它用于处理代码中可能出现的错误信息。当错误发生时,JavaScript将停止执行并生成一条错误消息。使用throw语句创建自定义消息(引发异常)。如果throw与try和catch一起使用,则可以控制程序输出的错误信息。当出现异常时,用try…catch处理,Node.js进程会立即退出。   

  

  //抛出ReferenceError,因为z未定义。尝试{ const m=1;const n=m z;} catch (err) {//在此处理错误。}但需要注意的是,如果要在异步方法的回调函数中抛出错误,不要放在try…catch代码块中。由于代码执行顺序的原因,回调函数还没有执行,try … catch代码已经执行并退出。   

  

  Try {setTimeout(function () {//抛出异常。这是因为异步函数由于执行上下文不同而无法被捕获。抛出新错误(“setTimeout Error”);}, 1000);} catch(err){ console . log(err);}   

  

  (2)回调函数中的 error 参数   

  

  Node.js的核心API提供的大多数异步方法都遵循错误消息优先回调模式的约定,这种方式有时被称为Node.js回调。   

  

  在这种模式下,回调函数首先作为参数传递给异步方法。当方法完成操作或生成错误时,它将调用回调函数,并将可能的错误对象作为第一个参数传递给回调函数。如果没有生成错误,则第一个参数为空。   

  

  const fs=require(' fs ');Fs.readfile ('/f1 ',(err,data)={ if(err){ console . error(' error ',err);返回;} console.log(数据);});   

  

  (3)process.on(‘uncaughtException’)事件监听   

  

  当一个异常发生在系统中并且没有被try…catch捕获时,将会触发“uncaughtexception”事件。该方法适用于全局异常捕获,以避免Node.js进程崩溃,但该方法仅用于异常捕获,无法进行相应的异常处理,因为它无法定位异常发生的上下文。   

  

  process.on('uncaughtException ',(err)={ console . log(err);});SetTimeout(()={console.log('这里还是会运行');}, 500);//故意抛出异常,但不要捕捉。error func();Console.log('这里不会运行');   

  

  三。总结一下,程序中不正常的错误是不可避免的。重要的是当错误发生时,我们应该如何处理,以确保程序的顺利执行。   

  

  下期我会和大家分享更多实战的点点滴滴。如果你对此感兴趣,请关注并留言。你的支持是我的动力!   

相关文章