做需求的时候,使用Nodejs的request批量请求某一个接口,由于接口超时,出现 ESOCKETTIMEDOUT,程序中断。
为了让程序遇到 ESOCKETTIMEDOUT 之后能够继续执行下去,需要对 request 部分加上 try...catch,再catch中记录这条失败请求的信息,后面不断重试。
try{ //这里是你request请求的代码 }catch(e){ //这里需要用一些措施记录下失败的数据 //1.将错误请求输出到某一个日志文件中 //2.将错误请求保存到某个数组中,下面通过循环不断重试直至成功 console.log(e); }
1、加上 try...catch 之后,程序就不会因为某一条 request 报错而中断。
2、在 catch 中将有问题的请求记录下来,方便后面重试。
Javascript 引擎是单线程的,因此一旦遇到异常,Javascript 引擎通常会停止执行,阻塞后续代码并抛出一个异常信息,因此对于可预见的异常,我们应该捕捉并正确展示给用户或开发者。
JavaScript和其他语言一样,都拥有捕获异常的机制。js中异常捕获的语句同样分为了三部分:try用于捕获异常,catch用于处理异常,finally用于关闭资源等后续操作。
在日常页面开发中,常常会涉及到图片的展示。有时候当图片资源过多时,我们希望能将图片延迟加载,同时当图片加载失败后,能用一张默认图片去代替其进行展示
错误,指程序中的非正常运行状态,在其它编程语言中称为“异常”或“错误”。解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描迹信息。
Promise创建时需要传入一个function,在这个function执行过程中,如果出现了异常则会对外抛出。外部有2种方式来捕获这个异常:
为了保证健壮性,我们要对所有可能报错的代码添加异常处理,但是每个方法都添加 try catch 又太麻烦,所以我们利用 Proxy 实现了代理,透明的给对象的所有方法都添加上了异常处理。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!