国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

防止Node.js中錯誤導致進程阻塞的辦法

2019-11-20 09:15:29
字體:
來源:轉載
供稿:網友

前言

在Node.js中,當某個回調函數發生了錯誤,整個進程都會崩潰,影響后面的代碼執行。

Node.js這樣處理,是因為在發生未被捕獲的錯誤時,進程的狀態就不確定。之后也就無法正常工作了。如果錯誤始終不處理的話,就回一直拋出意料之外的錯誤,這樣不利于調試。

防止錯誤導致的進程阻塞的方法主要有如下兩種:

一. try-catch

try-catch允許進行異常捕獲,并讓代碼繼續執行下去:

例如:

當函數拋出錯誤時,代碼就停止執行了:

(function() { var a = 0; a(); console.log("get here."); // 不執行})();

使用try-catch進行錯誤處理后,代碼仍可繼續執行:

(function() { var a = 0; try {  a(); } catch (e) {  console.log(e); } console.log("get here."); // get here.})();

try-catch不能捕獲未來執行函數錯誤

要捕獲未來才執行到的函數所拋出的錯誤時不可能的。這會直接拋出未捕獲的異常,并且catch代碼塊永遠都不會被執行:

try { setTimeout(function() {  throw new Error("here"); }, 10);} catch(e) { console.log(e);}

這就是為什么在Node.js中,每步豆芽正確進行錯誤處理的原因。

添加uncatchException處理器

若添加了 uncatchException 處理器,當函數拋出錯誤時,進程也不會退出。

process.on("uncatchException", function(e) { console.log(e); process.exit(1);});

總結

以上就是防止Node.js中錯誤導致進程阻塞的辦法的全部內容,希望對大家使用Node.js有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赣榆县| 承德市| 福贡县| 东乡族自治县| 柘荣县| 铁力市| 乌苏市| 永和县| 石河子市| 龙门县| 交口县| 泗阳县| 墨玉县| 靖江市| 达尔| 新宾| 从江县| 紫阳县| 日喀则市| 朝阳市| 张家口市| 安康市| 保定市| 东光县| 宿松县| 仪征市| 睢宁县| 阳江市| 玉屏| 泊头市| 探索| 昌宁县| 德庆县| 遂昌县| 大田县| 孝义市| 灯塔市| 衡南县| 南皮县| 万荣县| 三都|