【发布时间】:2017-09-29 06:20:13
【问题描述】:
我已经阅读了为什么不鼓励在 Scala 中使用“null”。但是我遇到了一个方法,我想返回一个在某些条件下既不是真也不是假的“空”布尔值。
def exampleMethod (query: String): Boolean =
{
var result: Boolean = false
try
{
//This will take the input query and return "true" or "false"
//depending on the state of the database
result = boolQueryResult.evaluate()
return result
}
catch
{
case e: Throwable => logger.info(e.toString)
}
logger.info("Something is wrong! I want to return a boolean with nothing in it!")
return result
}
在上面的代码中,我使用了 evaluate() 方法,该方法将返回 true 或 false,然后该值将以布尔值返回。但是如果出现问题并且执行了 catch 块,我想返回一个非真或假的布尔值,以表明输入字符串存在错误。在此方法的当前版本中,布尔值被初始化为“false”,这并不理想,因为它表明 evaluate() 返回了 false,而不是执行了 catch 块。有没有办法初始化这个变量,如果抛出异常,它不会返回“true”或“false”?
【问题讨论】:
标签: scala