我经常与Winforms合作,但我从未真正找到过"全球接受的"退出方法的方法。
所以,我知道它的一种方法是确保它能够在if(错误)中检查/停止每一段代码。
bool error = false;
if (!error)
{
//do stuff
}
if(!error)
{
//do stuff
}
error = true;
if (!error)
{
//do stuff
}
然后还有其他两种方式,但我不确切知道它们是否会导致意外行为。
application.exit()一:
bool error = false;
if (error)
{
Application.exit();
}
//do stuff
//code code code
if (error)
{
Application.exit();
}
//do stuff
//code code code
error = true;
if (error)
{
Application.exit();
}
//THIS CODE SHOULD NOT EXECUTE???? But i think it actually does...
//From what I understood it keep executing all the code in the method and then exits (message pumps and so on)
//do stuff
//code code code
然后是Environment.exit(int)方法
bool error = false;
if (error)
{
Environment.exit();
}
//do stuff
//code code code
if (error)
{
Environment.exit();
}
//do stuff
//code code code
error = true;
if (error)
{
Environment.exit(1);
}
//THIS CODE SHOULD NOT EXECUTE BECAUSE Environment.exit(int) actually breaks the application with an exception
//Works but bad practice
//do stuff
//code code code
通知书?最佳实践?修正?
欢迎任何事情
答案 0 :(得分:0)
return语句终止它出现的方法的执行,并将控制权返回给调用方法。
从您的初始帖子和评论中的描述中,您正在寻找什么?所以基本上使用类似下面的东西并以不同的方式处理返回值(返回0通常表示一切都是正确的,而-1和可能的其他整数表示不同的错误类型。当然,如果你只需要检查方法,你可以使用布尔值是否正确执行,甚至定义自己的例外情况。)
public int TestMethod(){
//do stuff
if (badStuffHappened)
{
return -1;
}
// Do more stuff which is not executed,
// if badStuffHappened before you reach the previous if statement.
return 0;
}