我正在Node.js中编写一个数据处理系统。
数据是用户提供的或来自外部来源,所以
在这些情况下,我通常想提醒用户,然后:
当然,警告用户的方法也取决于模式。
我认为异常是解决这类问题的正确办法,因为:
所以我开始寻找指南并找到两个相关的东西:
前者没有进一步解释。后来我明白了,但我认为这不是我的理由。
你会如何解决这个问题?我正在寻找一般方法,不一定是平台或语言特定的......或者JavaScript try-catch中有什么特别邪恶的东西吗?
答案 0 :(得分:2)
try {} catch {} finally {}确实在标准节点中的用处有限,错误处理可能会有问题。
然而在我最近的一个项目中,我使用了这些节点模块:Fibers,Fibers-Promise以一种有效的方式,我可以在异步回调上做类似于Thread.join的事情,并且可以在程序中使用节点,而不是功能风格。
有权衡。光纤/所有协同常规库修改节点的核心代码,使其无法在前端使用。但是根据你的目的,你可能想看看这个。
答案 1 :(得分:0)
如果是您正在处理的DATA,您可能会尝试将该应用视为邮件传输。
在此模式中,无法捕获任何内容,任何未被理解的数据都会向用户返回有效消息 - 消息称数据无效。
通过这种方式,您不会尝试使用代码来捕获数据错误 - 这不是一件好事。
你真的不需要一个特殊的库来处理这个问题,它与任何事情都是一个思想练习。实际上,“模型”处理程序(想想MVC)可以很好地完成工作。或者,您只需在将其传递给解析器函数之前过滤掉任何非常糟糕的数据(例如零或过长) - 如果解析器无法完全理解数据,则默认向用户返回错误消息。