Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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#_Visual Studio_Exception Handling - Fatal编程技术网

C# 没有异常处理的力量?

C# 没有异常处理的力量?,c#,visual-studio,exception-handling,C#,Visual Studio,Exception Handling,在Eclipse中编程Java,我习惯于处理异常。在C#和VisualStudio中,我似乎不能对方法说“抛出异常”。。。在大量的编码之后,我发现了很多异常,并且必须在测试过程中发现它们时捕获它们。我想被迫处理它们,这样VisualStudio就可以说,在这里你需要一个陷阱,或者我不会让你继续:)这可能吗 谢谢。C不会强迫你处理异常。这是语言设计师做出的一个简洁的设计决定 有关原因的详细信息,请参见Anders Hejlsberg在其中讨论了为什么它们不是C#的一部分。不,这是不可能的 您可以做

在Eclipse中编程Java,我习惯于处理异常。在C#和VisualStudio中,我似乎不能对方法说“抛出异常”。。。在大量的编码之后,我发现了很多异常,并且必须在测试过程中发现它们时捕获它们。我想被迫处理它们,这样VisualStudio就可以说,在这里你需要一个陷阱,或者我不会让你继续:)这可能吗

谢谢。C不会强迫你处理异常。这是语言设计师做出的一个简洁的设计决定

有关原因的详细信息,请参见Anders Hejlsberg在其中讨论了为什么它们不是C#的一部分。

不,这是不可能的


您可以做的是查找您正在MSDN中执行的.NET库方法:该方法预期引发的异常记录在这里。之后,您可以决定哪些要捕获,哪些不想在此处处理。

您可以使用来查找异常。对于.NET 4,还有一种称为代码契约的东西,它可以帮助您强制执行前置/后置条件,并可能避免某些异常。

不,在C#中没有已检查的异常。原因很简单:

1)它们往往达不到预期目的,因为并非每个人都遵循建议的做法,即明确处理它们或将它们传递到链上。相反,发生的事情是开发者在DEV堆栈的中间被“吃”了。 2)由于它们自然是文档的一部分,而不是可执行代码,因此它们应该进入文档,而不是凌乱代码表面


3)dev工具中的C#/Framework文档是此类文档的理想场所。使用VisualStudio对象浏览器,浏览到该方法,您将在下方窗格中看到它们

哦,太糟糕了:)谢谢你的回答!尽管据称容易出错,但这让程序员有自由声明“我知道我在做什么”@Johannes:在你认为这是“糟糕”之前,我读过那篇采访。我曾经认为这是C#中的一个缺陷,但我已经完全转变为将其视为“专业”……我不是专业人士,我真的需要知道什么时候可能会抛出异常!:)没有比在文档中查找它们更好的方法了吗?如果你问我的话,在VisualStudio中应该有这样做的可能性:)某种类型的“右键单击->可以抛出显式异常”:@Johannes:是的,那会很好,但是由于Visual Studio中上下文相关的帮助非常好(只需在方法名称上方单击F1即可),查找文档的速度相当快。