【发布时间】:2015-02-13 13:40:17
【问题描述】:
我几天前才开始试用 SailsJS。
我已经意识到,只要有未捕获的异常,节点就会终止。
我有一个控制器列表,每个控制器在 services/ 中调用一个特定的服务 JS 文件(包含逻辑和数据库调用)。
我可以为所有服务编写一个全局错误处理程序,以便这些服务发生的任何类型的错误都应该由它处理,并且必须将适当的错误响应传达给前端。
我尝试使用 process.on('uncaughtexception') 或一些基本异常,但需要将其添加到每个服务方法中。
对于从客户端到服务器进行的所有服务调用,我还可以有一个共同点,所有 io.socket.post() 和 io..socket.get() 都通过该点
如果有任何指针/文章向我展示在 SailsJS 中处理未捕获异常和使用更短代码而不是在所有服务中编写冗余代码的常见最佳实践,我将不胜感激。
【问题讨论】:
-
非常好的问题。以前从未想过这一点,但策略是在调用控制器操作之前执行的代码。您可能想尝试使用策略将控制器逻辑包装在 try catch 块中,并将该策略作为默认策略应用于所有控制器操作。我还没有尝试过,这只是我脑海中的一个随机想法。让我知道它是否有效。我以后可能会试一试
-
这还不是真正的答案还,但请留意zones - 除其他外,它解决了nodejs 中的错误处理问题。
标签: node.js exception-handling sails.js