У меня есть следующий код (упрощенный):Обработки утратившего исключения из вызова API Java в Scala
def getSomething(name: String): MyError \/ Option[Int] = {
/* Returns Null if name doesn't exist, IOException if connection err. */
val output: queryDB(name)
// ...
}
queryDB
функция вызов Java.
Я хотел бы следующее произойдет: IOException
сопоставляется с MyError
и null
к None
. Как мне продолжить?
Я знаю, что я могу обернуть вывод в Option
, так как null
отображается на None
. Однако как мне управлять исключением?
Спасибо.
что-то не так с try/catch? вы также можете использовать 'scala.util.Try', т. е.' Try (Option (queryDB (name))), но старая школьная попытка/catch может быть проще здесь. –