Попробуйте поймать внутри цикла - PullRequest
1 голос
/ 14 февраля 2011

У меня есть база данных SQLite, из которой я хочу читать записи и выполнять фрагмент кода для каждой записи.

Я использую цикл while с Try Catch INSIDE it ...

Код выглядит следующим образом: -

            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 голосов
/ 27 марта 2011

Вы можете переместить весь код в Try Catch в функцию, которая возвращает логическое значение и принимает аргумент ByRef в качестве результата функции

Это возвращаемое значение функции служило индикатором успешной или неудачной операции, т.е.Возникает исключение или нет.

...