尝试在While循环中捕获

时间:2011-02-14 10:07:44

标签: vb.net sqlite try-catch while-loop system.data.sqlite

我有一个SQLite数据库,我希望从每个记录中读取记录并执行一段代码。

我正在使用带有Try Catch INSIDE的While循环...

代码如下: -

            result = slcom.ExecuteReader()
            'TODO: There is a problem with this while loop whereby if an ex is caught the connection
            '      to the database is closed.
            While result.Read
                Try

                       < do some stuff here >

                Catch ex As Exception
                    incrementFailoverCount(result("fid"))
                End Try
            End While
            result.Close()

问题是,一旦输入了Try块并且捕获了一个ex,while循环的下一次迭代就会失败,因为看起来ex的时刻似乎已经关闭了与SQLite数据库的连接,尽管连接属性是声明它是开放的。

任何想法???

1 个答案:

答案 0 :(得分:0)

您可以将Try Catch中的所有代码移动到返回布尔值的函数中,并将ByRef参数作为函数的结果

该函数返回值用作成功或失败操作的指示符,即是否引发异常。