Перехват ResultSet.next () исключение - PullRequest
2 голосов
/ 01 июня 2011

У меня есть курсор только вперед.Из-за некоторых проблем выборка определенных столбцов в некоторых строках может вызвать исключение (проприетарный драйвер, исключение связано с кодированием на самом деле).

Так как перехватить такое исключение в этом коде (код Scala):

while(rs.next){
    println(rs.getString("column"))
}

Я пробовал while(true) с блоком try / catch внутри, но, очевидно, после того, как сгенерировано исключение, я не могу двигать курсор, несмотря ни на что.Исключение выдается при вызове метода .next().

1 Ответ

0 голосов
/ 01 июня 2011

Я бы использовал scala.util.control.Exception.Например:

scala> import scala.util.control.Exception._
import scala.util.control.Exception._

scala> def div2(by: Int) = catching(classOf[ArithmeticException]) opt (2 / by)
div2: (by: Int)Option[Int]

scala> div2(2)
res23: Option[Int] = Some(1)

scala> div2(0)
res24: Option[Int] = None
...