Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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# 是否有任何开源项目实现了相同的功能(有例外和无例外)?_C#_Java_C++_Exception_Error Handling - Fatal编程技术网

C# 是否有任何开源项目实现了相同的功能(有例外和无例外)?

C# 是否有任何开源项目实现了相同的功能(有例外和无例外)?,c#,java,c++,exception,error-handling,C#,Java,C++,Exception,Error Handling,我正在写一篇关于使用异常对代码复杂性的影响的论文。如果我有几千个LOC,对相同的功能使用良好的旧错误处理和异常,那就太好了。我甚至不知道从哪里开始谷歌搜索。任何C++、java、C++、D项目都是足够的。我最好的猜测是一个在给定版本中切换到异常的项目。非常感谢您的帮助。考虑到在Java和C中,异常处理对于基本完整的基本库来说都是必不可少的,我对此表示怀疑 Java几乎完全脱离了循环,因为如果没有out参数,您必须求助于非常奇怪的构造(例如,您要么总是返回对象数组,要么实现带有返回值+应返回值的类

我正在写一篇关于使用异常对代码复杂性的影响的论文。如果我有几千个LOC,对相同的功能使用良好的旧错误处理和异常,那就太好了。我甚至不知道从哪里开始谷歌搜索。任何C++、java、C++、D项目都是足够的。我最好的猜测是一个在给定版本中切换到异常的项目。非常感谢您的帮助。

考虑到在Java和C中,异常处理对于基本完整的基本库来说都是必不可少的,我对此表示怀疑

Java几乎完全脱离了循环,因为如果没有out参数,您必须求助于非常奇怪的构造(例如,您要么总是返回对象数组,要么实现带有返回值+应返回值的类,…)

在c#中,如果忽略基本库,理论上可以避免使用异常和错误代码,但我仍然怀疑是否有人愿意这样编程。对于这两种语言来说,它只是太多地融入了核心概念

<>你最好的命名语言是C++,但是C++异常与现代的实现相比有很多问题,使用它们真的没有乐趣。你可以四处寻找Python程序,我可以想象有人在毫无例外地编写Python


不管怎样,它是极不可能的(独立于语言;尽管C++可能是唯一一个我可以想象的)来寻找一个从错误代码变成异常处理的项目——毕竟,这将是一个完全的改写。

< p>我不认为你会发现这样的项目,即使某个项目在某个时间切换,它们仍然会有很大的不同,所以你会比较苹果和桔子。这篇论文不应该基于轶事信息、可疑的测试和无根据的结论

你可以从两个角度来探讨这个话题。一个是讨论两种错误处理方法的理论含义,并用三行程序说明这一点。另一种方法是进行一个受控实验,编写一些可能很短(约1000行)的真实场景测试用例并对其进行分析,然后讨论它是否可以在更大的系统上扩展。当然,如果你有时间(至少几年)和金钱(至少几百万美元)雇佣一批经验丰富的开发人员并为他们提供大规模问题,你可以收集一些有价值的统计数据。

不确定是否合适,但是:


,C库使用错误代码,而C++的包装器则用异常包括它们。(示例:vs)都是面向对象的。

我认为很难找到C#和Java示例,因为它们的基类库都假设使用异常(事实上,不可能从构造函数返回错误代码)。C++和D可能会产生更好的例子……我想最好的解决办法是,如果我提供了一些基于我没有编写的代码的证据。为了说明这一想法,我将使用简短的示例,但在定义了我的度量标准之后,我认为我应该独立于我来检查更大的项目。问题是我不需要它们在两种方法中使用相同的语言,但我怀疑是否有相同的代码,例如,Java和C.GTK绝对是一团混乱,从中我们唯一能学到的就是如何不编写代码。为了提供有意义的比较,必须将精心设计的代码与一组规则进行比较,并将其与精心设计的代码与实现相同功能的另一组规则进行比较。