Обработка ошибок

Оценить
(0 голоса)

Обработка ошибок является неотъемлемой частью программирования в RDC. Работая с объектом Report (определяя свойства и выполняя методы), вы должны быть готовы к возникновению ошибок. Компонент Report Viewer, используемый в вашем приложении, также не защищен от ошибок, которые могут возникать в силу самых разных причин. Учитывая это обстоятельство, вы должны позаботиться о соответствующем коде для обработки ошибок.

Все ошибки объекта Report и Report Viewer будут появляться как обычные ошибки времени выполнения Visual Basic. Перехват ошибок необходимо осуществлять с помощью процедуры On Error Goto. Труднее всего выяснить, коды каких именно ошибок нужно перехватывать. К сожалению, в Business Objects не разработали всеобъемлющую документацию по ошибкам, которые могут возникать при работе объектов Report или Report Viewer. Чаще всего при возникновении ошибок, имеющих отношение к отчету, выводятся обычные коды ошибок Visual Basic. Например, если коллекция объекта Report, которая принимает только целочисленные аргументы, получит в виде аргумента строковый индекс, то ошибка, характерная для RDC, не будет сгенерирована, а будет возвращено сообщение о несовместимости типов (Type Mismatch). Однако некоторые сообщения об ошибках, характерные для Report или Report Viewer, сообщают об ошибках, номера которых начинаются с -2147, за которыми следуют 6 других цифр.

Вам просто необходимо основательно тестировать свое приложение и предусматривать соответствующий код для обработки ошибок. Попытайтесь специально инициировать ошибки, связанные с объектом Report или Report Viewer, пусть даже шанс на то, что они могут когда-нибудь возникнуть, очень мал. Вы могли бы определить, какие коды ошибок генерируют объекты Report или Report Viewer и добавить код для их перехвата. Ниже показан взятый из приложения Xtreme Orders фрагмент кода, который перехватывает потенциальные ошибки при установке значений для свойств объекта Report во время выполнения:

cmdOK_Clie k_E г го г:

Screen.MousePointer = vbDefault

Select Case Err.Number Case -2147190889

MsgBox "Report Cancelled", vblnformation, "Xtreme Order Report"

Case -2147190908

MsgBox "Invalid E-Mail address or other e-mail problem”, _ vbCritical, "Xtreme Order Report" txtAddress.SetFocus Case Else

MsgBox "Error " & Err.Number & " - " & Err.Description, _ vbCritical, "Xtreme Order Report"

End Select 'Case Err.Number

 

Другие свойства и методы RDC
Метод DiscardSavedData
Работа с базой данных SQL
Подотчеты RDC
Создание нового отчета с помощью кода

Добавить комментарий


Защитный код
Обновить