处理项目集合时的设计问题时出错

时间:2011-08-15 08:30:14

标签: c++ c error-handling

我有一些项目的集合和一些操作。此操作是客户端和服务器之间远程调用的一部分,它应该立即在所有项目上运行。在服务器端,它在每个项目上重复运行,可能会失败或成功。我需要知道哪些项目成功,哪些项目失败。我想这是相当普遍的情况,并且有很好的解决方案。我该如何设计呢?

1 个答案:

答案 0 :(得分:1)

  

它应该立即在所有项目上运行

如果您不将此作为设计要求阅读,那么您将讨厌您的生活。全有或全无是处理它的正确方法。它将简化你所做的一切。

如果这不是一个选项,那就尽可能做最蠢的事。在try / catch中包装每个调用并给出一些报告。机会是没有人能够使用报告,这是另一个原因,无论是全部还是一无所有。

编辑:

详细说明:批处理时,将简单的逻辑写入报告错误很好,但编写逻辑以从错误中恢复是非常复杂的。我从来没有见过一个系统真的能够在批处理中很好地处理恢复。我确信每个项目都是完全独立的。无论哪一方都失败了,但通常情况并非如此。

通常,我希望在批处理操作期间发生的任何错误都不重要。我的意思是系统应该能够忽略错误并继续操作,就好像导致错误的消息永远不存在一样。

如果处理这些消息非常重要,那么我肯定会尝试全部或全部。