exceptions advantages over Enums

本文关键字:Enums over advantages exceptions | 更新日期: 2023-09-27 17:55:02

我用c++写过代码,并且理解为什么需要异常。主要是因为raii允许您以非常好的和简单的方式处理所有资源。

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

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

exceptions advantages over Enums

c#有一个自动的内存管理,这并不意味着你不需要使用RAII,因为你有时需要释放非托管的内存或资源。

异常是类,它们可以包含你想要的多少数据,并且有方法。您还可以使用继承,这可以帮助您捕获子类型异常,而无需重写任何catch子句。对于枚举,你不能做任何这些。

Enum/错误码管理迫使您编写可读性较差的代码,因为您将业务代码与错误码管理混合在一起,因为您必须将子调用错误路由给调用方。这会增加代码的嵌套深度,也会降低可读性。