【发布时间】:2017-07-31 12:01:34
【问题描述】:
我有一个场景,我需要从 Scala 代码调用 Java API,该代码返回 void 并抛出异常,以防参数无效。我目前正在按如下方式处理它,但是我想知道是否有办法避免 var 以及在 Scala 中是否有一种惯用的方法来实现这一点:
object TestTry extends App {
def createSampleRequest(message: String): Option[SampleRequest] = {
val sampleRequest = new SampleRequest()
//I really want to avoid var
var parsedSampleRequest = Option(SampleRequest)
//Calling a Java method returns void
try sampleRequest.fromString(fix, null, true)
catch {
case e: InvalidMessage => parsedSampleRequest = Option.empty
}
parsedSampleRequest
}
}
【问题讨论】: