Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 异常与枚举相比的优势 IVE在C++中写,理解为什么需要异常。 主要是因为raii允许您以非常好和简单的方式处理所有资源_C#_C++_Exception - Fatal编程技术网

C# 异常与枚举相比的优势 IVE在C++中写,理解为什么需要异常。 主要是因为raii允许您以非常好和简单的方式处理所有资源

C# 异常与枚举相比的优势 IVE在C++中写,理解为什么需要异常。 主要是因为raii允许您以非常好和简单的方式处理所有资源,c#,c++,exception,C#,C++,Exception,但是,在c#中,我似乎找不到任何理由使用异常。 它们会使代码变慢,并需要系统提供更多资源 与c样式枚举相比,异常有哪些优点? tyvm:)C#具有自动内存管理功能,这并不意味着您不需要使用RAII,因为您有时需要释放非托管内存或资源 例外情况是类,它们可以包括您需要的数据量和方法。还可以使用继承,这有助于捕获子类型异常,而无需重写任何catch子句。使用枚举,你不能做任何这些 枚举/错误代码管理强制您编写可读性较差的代码,因为您将业务代码与错误代码管理混合在一起,因为您必须将子调用错误路由到调用

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

与c样式枚举相比,异常有哪些优点? tyvm:)

C#具有自动内存管理功能,这并不意味着您不需要使用RAII,因为您有时需要释放非托管内存或资源

例外情况是类,它们可以包括您需要的数据量和方法。还可以使用继承,这有助于捕获子类型异常,而无需重写任何catch子句。使用枚举,你不能做任何这些


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

在C++中,异常也不是免费的。“它们使代码变慢”。对代码使代码变慢。我们为什么要使用它们?因为它们是一种语言特性,使异常情况的管理变得容易。我很惊讶你提到RAII,但没有看到C#异常与它们之间的关系,特别是在
使用
语句和
try/[catch]/finally
块的范围内使用时。异常捕获了大量有关抛出站点的信息。。。我需要继续吗?@spender,我想你的评论应该是一个完整的答案。可能是@Oren的重复,我从来没有用返回码编码过(或者至少很久没有),所以我对争论的另一方没有信心。