在Node.js中,可以使用try-catch
語句來捕獲異常。此外,還可以使用事件監聽器來捕獲和處理異常。以下是兩種常見的異常捕獲方法:
try-catch
語句:在可能拋出異常的代碼塊中使用try
語句,然后在catch
語句中處理異常。例如:
try {
// 可能拋出異常的代碼
const result = riskyOperation();
console.log(result);
} catch (error) {
// 處理異常的代碼
console.error('捕獲到異常:', error);
}
Node.js中的許多模塊(如fs
、http
等)都是基于事件的。這些模塊在發生錯誤時會觸發error
事件??梢酝ㄟ^監聽error
事件來捕獲和處理異常。例如,使用fs.readFile
讀取文件時:
const fs = require('fs');
const readableStream = fs.createReadStream('nonexistent-file.txt');
readableStream.on('error', (error) => {
console.error('捕獲到異常:', error);
});
readableStream.on('data', (chunk) => {
console.log(chunk.toString());
});
對于異步函數,可以使用async/await
結合try-catch
語句來捕獲異常:
async function main() {
try {
const result = await riskyOperation();
console.log(result);
} catch (error) {
console.error('捕獲到異常:', error);
}
}
main();
總之,捕獲Node.js中的異常需要根據具體的場景選擇合適的方法。對于同步代碼,可以使用try-catch
語句;對于異步代碼,可以使用事件監聽器或者async/await
結合try-catch
語句。