我的分析文件中有这个逻辑.用户可以选择输入文件.如果发生错误或者用户在输入文件中有无效条目,则逻辑检查并打印错误.
此方法返回bool成功.根据所有输入是否有效,取决于T/F. 如果success = T,则开始分析输入的下一步.现在这是我的问题.我如何归还假.
if (xxx > 100)
{
errMsg = "Number of xxx should be <= 100";
swRpt.WriteLine(errTitle + errMsg);
}
// sizing
;
swRpt.WriteLine(" Epsilon");
//Repair
success = Numerical.Check("repair", inputs.repair.ToString(),
out dtester, out errMsg);
if (!success)
{
swRpt.WriteLine(errTitle + errMsg);
}
success = Numerical.Check("prob", inputs.prob.ToString(),
out dtester, out errMsg);
if (!success)
{
swRpt.WriteLine(errTitle + errMsg);
}
Run Code Online (Sandbox Code Playgroud)
所以现在终于
if (success)
{
//run the analysis method
}
if(!success)
{
exit
}
Run Code Online (Sandbox Code Playgroud)
即使一个输入错误,我也需要退出.第一个可能是错误的,最后一个可能是正确的输入值.
您可以添加另一个状态标志,只要发生故障,该标志就会更新为false:
bool status = true;
if (xxx > 100)
{
errMsg = "Number of xxx should be <= 100";
swRpt.WriteLine(errTitle + errMsg);
status = false;
}
// sizing
swRpt.WriteLine(" Epsilon");
//Repair
success = Numerical.Check("repair", inputs.repair.ToString(),
out dtester, out errMsg);
if (!success)
{
swRpt.WriteLine(errTitle + errMsg);
status = false;
}
success = Numerical.Check("prob", inputs.prob.ToString(),
out dtester, out errMsg);
if (!success)
{
swRpt.WriteLine(errTitle + errMsg);
status = false;
}
return status;
Run Code Online (Sandbox Code Playgroud)