一个基本问题。我需要退出函数而不抛出任何异常。我如何在C#中做到这一点?
答案 0 :(得分:23)
这很简单:
void Function()
{
...
if(needToLeave)
return;
...
}
然而,这将是任何编程教程中的一分钟搜索。
答案 1 :(得分:10)
我不确定我是否理解正确。也许使用return;
?
答案 2 :(得分:2)
而不是使用“返回”;我总是建议一个正确的逻辑。
换句话说,你不需要从某个方法中保留执行:只使用条件语句,所以如果某个布尔值不为真,那就意味着一些代码不能被执行。
但我认为这是我的看法,而其他人则更喜欢将控制权交还给来电者。
此外,您还想知道基于异常的流控制是一种反模式。
答案 3 :(得分:0)
使用return或break关键字......但请确保在这些语句之后没有任何内容,因为您可能无法访问代码。您的代码中还有多个退出可能会使将来很难维护
答案 4 :(得分:-1)
你可以把代码放在try catch块中,并在finally块中做你想做的事情而不用担心异常。
try
{
//try something
}
catch(Exception ex)
{
//catch all exceptions and log on need basis
//but do not throw the exception from here
}
finally
{
return "Test";
//do what ever you want to do
}
答案 5 :(得分:-3)
可能是将catch块保持为空。请解释一下你的问题