我正在用 Node.js 编写一个数据处理系统。
数据片段由用户提供或来自外部来源,因此
- 它们可能以各种方式畸形;
- 它们可能是模棱两可的;
- 它们可能相互矛盾。
在这些情况下,我通常想提醒用户注意它,然后:
- 如果系统以交互模式使用(即在 REPL 中输入数据),则处理应该停止,建议一些操作并等待用户的决定。
- 如果它以批处理模式运行(即数据来自文件、Web 服务或类似来源),我想继续处理丢弃这些信息。
当然,提醒用户的方法也取决于模式。
我认为例外是此类问题的正确解决方案,因为:
- 格式错误或矛盾的数据应该是例外;
- 这样,异常行为的代码将明显地与通常的流程分开;
- 我将能够将异常提升到更高的级别,在此我可以决定如何处理它。
所以我开始寻找指南,发现了两个相关的东西:
前者不作进一步解释。后来我明白了,但我认为这不是我的情况。
你会如何解决这个问题?我正在寻找通用方法,不一定是特定于平台或语言的……或者 JavaScript try-catch 中有什么特别邪恶的东西?