C# 异常与枚举相比的优势 IVE在C++中写,理解为什么需要异常。 主要是因为raii允许您以非常好和简单的方式处理所有资源
但是,在c#中,我似乎找不到任何理由使用异常。 它们会使代码变慢,并需要系统提供更多资源 与c样式枚举相比,异常有哪些优点? tyvm:)C#具有自动内存管理功能,这并不意味着您不需要使用RAII,因为您有时需要释放非托管内存或资源 例外情况是类,它们可以包括您需要的数据量和方法。还可以使用继承,这有助于捕获子类型异常,而无需重写任何catch子句。使用枚举,你不能做任何这些C# 异常与枚举相比的优势 IVE在C++中写,理解为什么需要异常。 主要是因为raii允许您以非常好和简单的方式处理所有资源,c#,c++,exception,C#,C++,Exception,但是,在c#中,我似乎找不到任何理由使用异常。 它们会使代码变慢,并需要系统提供更多资源 与c样式枚举相比,异常有哪些优点? tyvm:)C#具有自动内存管理功能,这并不意味着您不需要使用RAII,因为您有时需要释放非托管内存或资源 例外情况是类,它们可以包括您需要的数据量和方法。还可以使用继承,这有助于捕获子类型异常,而无需重写任何catch子句。使用枚举,你不能做任何这些 枚举/错误代码管理强制您编写可读性较差的代码,因为您将业务代码与错误代码管理混合在一起,因为您必须将子调用错误路由到调用
枚举/错误代码管理强制您编写可读性较差的代码,因为您将业务代码与错误代码管理混合在一起,因为您必须将子调用错误路由到调用方。这增加了代码的嵌套DECH也可以读取。在C++中,异常也不是免费的。“它们使代码变慢”。对代码使代码变慢。我们为什么要使用它们?因为它们是一种语言特性,使异常情况的管理变得容易。我很惊讶你提到RAII,但没有看到C#异常与它们之间的关系,特别是在
使用
语句和try/[catch]/finally
块的范围内使用时。异常捕获了大量有关抛出站点的信息。。。我需要继续吗?@spender,我想你的评论应该是一个完整的答案。可能是@Oren的重复,我从来没有用返回码编码过(或者至少很久没有),所以我对争论的另一方没有信心。