在Node.js中,可以使用以下方法來識別和處理異常:
try-catch
語句:在執行可能拋出異常的代碼時,使用try-catch
語句可以捕獲異常。例如:try {
// 可能拋出異常的代碼
} catch (error) {
console.error('捕獲到異常:', error);
}
Promise.catch()
:當使用Promise時,可以使用.catch()
方法來捕獲異常。例如:someAsyncFunction()
.then(result => {
// 處理結果
})
.catch(error => {
console.error('捕獲到異常:', error);
});
async/await
和try-catch
:在使用async/await
語法時,可以將代碼放在try-catch
語句中捕獲異常。例如:async function main() {
try {
const result = await someAsyncFunction();
// 處理結果
} catch (error) {
console.error('捕獲到異常:', error);
}
}
const http = require('http');
const server = http.createServer((req, res) => {
// 處理請求
});
server.on('error', (error) => {
console.error('服務器發生錯誤:', error);
});
server.listen(3000);
process
對象的uncaughtException
事件來捕獲未處理的異常。例如:process.on('uncaughtException', (error) => {
console.error('捕獲到未處理的異常:', error);
});
請注意,這種方法應該謹慎使用,因為它可能會導致應用程序處于不穩定狀態。在生產環境中,建議使用更健壯的錯誤處理和監控機制,如Sentry、Loggly等。