最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

防止Node.js中錯誤導(dǎo)致進(jìn)程阻塞的辦法

 更新時間:2016年08月11日 16:13:03   投稿:daisy  
Node.js我們用到非常的多了,如果我們開發(fā)不當(dāng)可能因錯誤導(dǎo)致進(jìn)程阻塞問題,對于進(jìn)程阻塞問題一直是個頭痛的事情,今天我們一起來看一篇關(guān)于Node.js防止錯誤導(dǎo)致的進(jìn)程阻塞示例,下面一起來看看。

前言

在Node.js中,當(dāng)某個回調(diào)函數(shù)發(fā)生了錯誤,整個進(jìn)程都會崩潰,影響后面的代碼執(zhí)行。

Node.js這樣處理,是因?yàn)樵诎l(fā)生未被捕獲的錯誤時,進(jìn)程的狀態(tài)就不確定。之后也就無法正常工作了。如果錯誤始終不處理的話,就回一直拋出意料之外的錯誤,這樣不利于調(diào)試。

防止錯誤導(dǎo)致的進(jìn)程阻塞的方法主要有如下兩種:

一. try-catch

try-catch允許進(jìn)行異常捕獲,并讓代碼繼續(xù)執(zhí)行下去:

例如:

當(dāng)函數(shù)拋出錯誤時,代碼就停止執(zhí)行了:

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

使用try-catch進(jìn)行錯誤處理后,代碼仍可繼續(xù)執(zhí)行:

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

try-catch不能捕獲未來執(zhí)行函數(shù)錯誤

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

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

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

添加uncatchException處理器

若添加了 uncatchException 處理器,當(dāng)函數(shù)拋出錯誤時,進(jìn)程也不會退出。

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

總結(jié)

以上就是防止Node.js中錯誤導(dǎo)致進(jìn)程阻塞的辦法的全部內(nèi)容,希望對大家使用Node.js有所幫助。

相關(guān)文章

  • 14款NodeJS Web框架推薦

    14款NodeJS Web框架推薦

    這篇文章主要介紹了14款NodeJS Web框架推薦,其中大多數(shù)框架都是基于node.js的Express實(shí)現(xiàn),需要的朋友可以參考下
    2014-07-07
  • 使用NVM下載Node.js管理多版本的詳細(xì)教程(附圖文)

    使用NVM下載Node.js管理多版本的詳細(xì)教程(附圖文)

    在開發(fā)過程會一直遇到nodejs的版本問題,直接安裝則只有一個版本,極其不方便,nvm則是用來管理nodejs的工具,可以通過nvm來安裝切換不同版本的nodejs,所以本文給大家介紹了使用NVM下載Node.js管理多版本的詳細(xì)教程,文中有詳細(xì)的圖文教程,需要的朋友可以參考下
    2025-04-04
  • 教你用Node.js與Express建立一個GraphQL服務(wù)器

    教你用Node.js與Express建立一個GraphQL服務(wù)器

    GraphQL是一種通過強(qiáng)類型查詢語言構(gòu)建api的新方法,下面這篇文章主要給大家介紹了關(guān)于用Node.js與Express建立一個GraphQL服務(wù)器的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 詳解Node.js一行命令上傳本地文件到服務(wù)器

    詳解Node.js一行命令上傳本地文件到服務(wù)器

    這篇文章主要介紹了Node.js一行命令上傳本地文件到服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 在Node.js中實(shí)現(xiàn)關(guān)注列表和粉絲列表的方法示例

    在Node.js中實(shí)現(xiàn)關(guān)注列表和粉絲列表的方法示例

    在社交網(wǎng)絡(luò)或者任何需要用戶交互的應(yīng)用中,實(shí)現(xiàn)關(guān)注和被關(guān)注的功能是非常常見的需求,本文將通過一個簡單的例子,展示如何在Node.js環(huán)境下實(shí)現(xiàn)用戶的關(guān)注列表和粉絲列表,需要的朋友可以參考下
    2024-04-04
  • node事件循環(huán)和process模塊實(shí)例分析

    node事件循環(huán)和process模塊實(shí)例分析

    這篇文章主要介紹了node事件循環(huán)和process模塊,結(jié)合實(shí)例形式分析了node事件循環(huán)和process模塊具體功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • nodejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例

    nodejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例

    下面小編就為大家?guī)硪黄猲odejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • node.js實(shí)現(xiàn)登錄注冊頁面

    node.js實(shí)現(xiàn)登錄注冊頁面

    這篇文章主要為大家詳細(xì)介紹了node.js實(shí)現(xiàn)簡單的登錄注冊頁面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Node.js中的http請求客戶端示例(request client)

    Node.js中的http請求客戶端示例(request client)

    本篇文章主要介紹了Node.js中的http請求客戶端示例(request client),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 詳解使用Typescript開發(fā)node.js項(xiàng)目(簡單的環(huán)境配置)

    詳解使用Typescript開發(fā)node.js項(xiàng)目(簡單的環(huán)境配置)

    本篇文章主要介紹了詳解使用Typescript開發(fā)node.js項(xiàng)目(簡單的環(huán)境配置),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-10-10

最新評論

龙门县| 合作市| 阿克陶县| 宝清县| 滕州市| 朝阳区| 隆昌县| 陕西省| 山阴县| 新昌县| 黄浦区| 如皋市| 新昌县| 阜宁县| 彰化市| 察雅县| 陵水| 仁化县| 改则县| 二连浩特市| 无极县| 勐海县| 镇安县| 营口市| 镇远县| 西青区| 凌海市| 英吉沙县| 华安县| 濮阳县| 台山市| 额济纳旗| 江阴市| 调兵山市| 富平县| 高雄县| 营山县| 兴安盟| 泽州县| 富源县| 岗巴县|