Node端异常捕获
在Node.js中,可以使用try...catch
语句来捕获和处理异常。以下是一个简单的例子:
function mightThrow() {
// 这个函数可能会抛出一个错误
throw new Error('An error occurred');
}
try {
mightThrow(); // 尝试执行可能会抛出错误的代码
} catch (error) {
console.error('An error occurred:', error); // 捕获错误并处理
}
如果你想全局捕获未处理的异常,可以使用process
对象的uncaughtException
事件:
process.on('uncaughtException', (error) => {
console.error('An uncaught error occurred:', error);
process.exit(1); // 可选:退出程序
});
function mightThrow() {
throw new Error('An error occurred');
}
mightThrow(); // 这会触发上面的 uncaughtException 事件处理函数
请注意,使用process.on('uncaughtException'
)可以捕获大多数未被捕获的异常,但不包括Promise未捕获的异常。对于这些异常,可以使用
process.on('unhandledRejection')
:
process.on('unhandledRejection', (reason, promise) => {
console.error('A promise rejection was unhandled:', promise, 'Reason:', reason);
});
Promise.reject('Unhandled rejection'); // 这会触发上面的 unhandledRejection 事件处理函数
在实际生产环境中,应该尽可能地处理错误,而不仅仅是打印错误信息。全局错误处理通常需要结合日志记录、错误报告服务和进程管理策略来完善。
评论已关闭