我试图避免在捕获时返回错误的值,但我很难找到比这更好的解决方案:
private SecurityLevel ApiGetSecurityLevel()
{
try
{
return _BioidInstance.GetSecurityLevel();
}
catch
{
return SecurityLevel.High;
}
}
有没有更好的方法来做到这一点,这样我就不会返回错误的值?我无法更改 SecurityLevel 枚举。
不要捕获异常。允许异常“冒泡”以强制调用者/调用者处理默认安全值的设置。
如果你确实想返回一个值,那么使用Nullable<SecurityLevel>
or SecurityLevel?
.
private SecurityLevel? ApiGetSecurityLevel() {
try {
return _BioidInstance.GetSecurityLevel();
}
catch {
return null;
}
}
然后用作:
if (ApiGetSecurityLevel().HasValue == false) {
// use default security level
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)