与Enums相比的例外优势

时间:2014-03-30 21:27:54

标签: c# c++ exception

我用c ++编写并理解为什么需要例外。 主要是因为raii允许你以非常好的方式处理你拥有的所有资源。

但是,在c#中我似乎无法找到使用异常的任何理由。 它们会使代码变慢并需要系统提供更多资源。

异常比c风格的枚举有什么优势? tyvm:)

1 个答案:

答案 0 :(得分:0)

C#正在进行自动内存管理,但您并不需要使用RAII,因为您有时需要释放非托管内存或资源。

异常是类,它们可以包含您想要的数据量和方法。您还可以使用继承,这可以帮助您捕获子类型异常,而无需重写任何catch子句。使用枚举,你无法做任何论文。

枚举/错误代码管理强制您编写不太可读的代码,因为您将业务代码与错误代码管理混合在一起,因为您必须将子调用错误路由到调用方。这增加了你的代码的嵌套deph,也是不可读的。