使用约束执行区域

时间:2010-12-22 18:22:26

标签: c# .net exception-handling

CER在哪些情况下有用?我的意思是,现实生活中的情况,而不是一些抽象的例子。

你个人使用它们吗?除了书籍和文章中的例子之外,还没有看到它们的用法。当然,这可能是因为我的编程经验不足。所以我也对它的广泛传播技术感兴趣。

使用它们的优缺点是什么?

1 个答案:

答案 0 :(得分:24)

  

CER在哪些情况下有用?我的意思是,现实生活中的情况,而不是一些抽象的例子。

构建具有严格可靠性要求的软件时。例如,数据库服务器不得泄漏资源,不得破坏内部数据结构,并且必须保持运行,周期,故事结束,即使面对线程中止等神奇的场景。

构建无法泄漏的托管代码,在任意位置发生中止时维护一致的数据结构,并保持服务正常运行是一项艰巨的任务。 CERs是工具箱中用于构建此类可靠服务的工具之一;在这种情况下,通过限制可以发生中止的地方。

可以想象其他服务必须在困难的情况下保持可靠。例如,为救护车找到有效路线或在工厂中移动机器人手臂的软件比在台式机上运行的普通最终用户代码具有更高的可靠性限制。

  

你个人使用它们吗?

没有。我构建了在最终用户机器上运行的编译器。如果编译器在编译中途失败,那很不幸,但它不太可能对人类生命安全产生影响或导致重要数据的破坏。

  

我也对它的广泛传播技术感兴趣。

我不知道。

  

使用它们的优缺点是什么?

我不明白这个问题。你不妨问一下屋顶斧头的优点和缺点是什么;除非你声明你打算使用这个工具的任务,否则很难说该工具的优点和缺点是什么。您希望使用CER执行什么任务?一旦我们知道了任务,我们就可以描述使用任何特定工具来完成该任务的利弊。