我正在使用下面的代码,偶尔boolUpdate不是TRUE或FALSE我得到一个异常,我不能用TRY CATCH块来包围它,因为它使用'return',我怎么能正确地捕获它?
if (!Boolean.Parse(boolUpdate)) return true;
Run Code Online (Sandbox Code Playgroud)
Ahm*_*eed 20
如何使用Boolean.TryParse呢?
bool result = false;
Boolean.TryParse( boolUpdate, out result );
return !result;
Run Code Online (Sandbox Code Playgroud)
首先,一般情况:仅仅因为你退出一个块并不意味着你不能把它放在try/catch中:
try
{
if ( whatever )
return true;
}
catch ( Exception E )
{
HandleMyException( E );
return false;
}
Run Code Online (Sandbox Code Playgroud)
......这完全合法.与此同时,正如其他海报所写的那样,TryParse()在这个具体案例中可能就是你想要的.
仅当字符串为"true"且不生成异常时,以下内容才会返回true.
bool value;
return bool.TryParse(boolUpdate, out value) && value;
Run Code Online (Sandbox Code Playgroud)