有没有静态代码分析工具可以告诉我代码中有没有不处理可能的错误事件的地方?我遇到了一个重要的脚本崩溃,因为我使用了new WebSocket,但没有注册on('error')--尽管创建WebSocket的地方是在一个try/catch块中。
new WebSocket
on('error')
ryevplcw1#
我们不直接回答您关于静态分析的问题--静态分析总是有局限性的--但是您可以通过添加一个捕获所有内容的方法来防止类似这样的崩溃使您的服务停止:
process.on('uncaughtException', (err) => { console.error(`**** Caught exception: ${err}:`, err.stack); });
很明显,你应该努力 * 不要 * 依赖于此,因为抛出此类异常的代码块将无法按预期完成。
1条答案
按热度按时间ryevplcw1#
我们不直接回答您关于静态分析的问题--静态分析总是有局限性的--但是您可以通过添加一个捕获所有内容的方法来防止类似这样的崩溃使您的服务停止:
很明显,你应该努力 * 不要 * 依赖于此,因为抛出此类异常的代码块将无法按预期完成。