捕获ResultSet.next()的异常

时间:2011-06-01 16:48:33

标签: scala jdbc resultset

我有一个前进光标。由于某些问题,在某些行上获取特定列可能会引发异常(专有驱动程序,实际上是由于编码引起的异常)。

那么如何在这段代码中捕获这样的异常(Scala代码):

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

我已经尝试了while(true)内部的try / catch块,但显然在抛出异常之后,无论如何都无法移动光标。调用.next()方法时抛出异常。

1 个答案:

答案 0 :(得分:0)

我使用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