新聞中心
這篇文章主要為大家展示了Node.js API中如何使用Error模塊,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來看看吧。

Node.js API詳解之 Error
Node.js 中運(yùn)行的應(yīng)用程序一般會(huì)遇到以下四類錯(cuò)誤:
1.標(biāo)準(zhǔn)的 JavaScript 錯(cuò)誤:
EvalError : 當(dāng)調(diào)用 eval() 失敗時(shí)拋出。
SyntaxError : 當(dāng) JavaScript 語法錯(cuò)誤時(shí)拋出。
RangeError : 當(dāng)值不在預(yù)期范圍內(nèi)時(shí)拋出。
ReferenceError : 當(dāng)使用未定義的變量時(shí)拋出。
TypeError : 當(dāng)傳入錯(cuò)誤類型的參數(shù)時(shí)拋出。
URIError : 當(dāng)全局的 URI 處理函數(shù)被誤用時(shí)拋出。
2.由底層操作系觸發(fā)的系統(tǒng)錯(cuò)誤,例如試圖打開一個(gè)不存在的文件、試圖通過一個(gè)已關(guān)閉的 socket 發(fā)送數(shù)據(jù)等。
3.由應(yīng)用程序代碼觸發(fā)的用戶自定義的錯(cuò)誤。
4.斷言錯(cuò)誤是錯(cuò)誤的一個(gè)特殊類別,每當(dāng) Node.js 檢測(cè)到一個(gè)不應(yīng)該發(fā)生的異常邏輯時(shí)觸發(fā)。 這類錯(cuò)誤通常由 assert 模塊引起。
所有由 Node.js 引起的 JavaScript 錯(cuò)誤與系統(tǒng)錯(cuò)誤都繼承自或?qū)嵗詷?biāo)準(zhǔn)的 JavaScript 類,且保證至少提供類中的屬性。
錯(cuò)誤的冒泡和捕獲
說明:
Node.js 支持幾種當(dāng)應(yīng)用程序運(yùn)行時(shí)發(fā)生的錯(cuò)誤的冒泡和處理的機(jī)制。
如何報(bào)告和處理這些錯(cuò)誤完全取決于錯(cuò)誤的類型和被調(diào)用的 API 的風(fēng)格。
所有 JavaScript 錯(cuò)誤都會(huì)被作為異常處理,異常會(huì)立即產(chǎn)生并使用標(biāo)準(zhǔn)的 JavaScript throw 機(jī)制拋出一個(gè)錯(cuò)誤。
這些都是使用 JavaScript 語言提供的 try / catch 語句處理的。
JavaScript 的 throw 機(jī)制的任何使用都會(huì)引起異常,異常必須使用 try / catch 處理,
否則 Node.js 進(jìn)程會(huì)立即退出。
除了少數(shù)例外,同步的 API(任何不接受 callback 函數(shù)的阻塞方法,例如 fs.readFileSync)會(huì)使用 throw 報(bào)告錯(cuò)誤。
大多數(shù)的異步方法都接受一個(gè) callback 函數(shù),該函數(shù)會(huì)接受一個(gè) Error 對(duì)象傳入作為第一個(gè)參數(shù)。
如果第一個(gè)參數(shù)不是 null 而是一個(gè) Error 實(shí)例,則說明發(fā)生了錯(cuò)誤,應(yīng)該進(jìn)行處理。例:
const fs = require('fs');
fs.readFile('一個(gè)不存在的文件', (err, data) => {
if (err) {
console.error('讀取文件出錯(cuò)!', err);
return;
}
// 否則處理數(shù)據(jù)
});另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁名稱:Node.jsAPI中如何使用Error模塊-創(chuàng)新互聯(lián)
分享鏈接:http://www.dlmjj.cn/article/djjoed.html


咨詢
建站咨詢
