一个非常有趣的用例,异常的 用途和 还有异常的 实施都是微软 Live 实验室的 Volta 项目。(现已解散)Volta 的目标是在一个按钮的推动下为 Web 应用程序提供架构重构。因此,您可以将一层 Web 应用程序转换为两层或三层应用程序,只需将一些 [Browser]或 [DB]属性放在您的。NET 代码,然后代码将自动运行在客户端或数据库中。为了做到这一点,。NET 代码必须转换成 JavaScript 源代码,这是显而易见的。
嵌入式固件是一种应用程序,它常常因为一些好的原因而避免使用异常(通常是 C + +)。在典型的小型裸机或 RTOS 平台中,您可能有1MB 的代码空间,或者64K,甚至更小。有些平台太小了,甚至 C 语言都不实用。在这种环境中,由于上面提到的成本,尺寸的影响是相关的。它还会影响标准库本身。嵌入式工具链供应商通常会生成一个没有异常能力的库,这对代码大小有很大的影响。高度优化的编译器还可以分析调用图,并优化掉所需的调用帧信息,以便进行大量的放松操作,从而减少空间。异常还使得分析硬实时需求变得更加困难。