Учебник по Visual Basic 5.0


Таблица 1 - часть 2



       End Select


        М$ = "If the error has been corrected click on OK."


        M$ = M$ & vbCrLf


        M$ = M$ & "Otherwise click on Cancel."


        Continue = MsgBox(M$, vbOKCancel)


        If Continue = vbOK Then Resume Else End

    Идея данного обработчика ошибок очень проста, а оператор Select Case подходит в данном случае идеально. В каждом отдельном случае программа проверяет тип ошибки и предлагает возможные рекомендации по ее исправлению. Если достигнут оператор Case Else, то на экране появляется номер ошибки. В любом случае после цикла по обработке ошибок пользователю предлагается возможность выбора при помощи информационной панели с двумя кнопками. Возможно, понадобится написать общую процедуру для анализа ошибок. Тогда фрагмент по обработке ошибок в процедуре будет передавать управление выше. После этого такую процедуру можно использовать для перехвата и обработки ошибок во многих различных проектах.


Перехват ошибок не является панацеей. Например, трудно что-либо сделать, если возникает сбой жесткого диска или в принтере отсутствует бумага.


    Вариант команды Resume позволяет пропустить оператор, в котором возникла ошибка. Если использовать

Resume Next

    Visual Basic начинает обрабатывать оператор, находящийся непосредственно после текущего. Можно даже использовать

On Error Resume Next

для автоматического пропуска любого программного кода, вызывающего ошибку. (Это приведено не случайно, хотя в данной главе не применяется.)


    Кроме того, можно возобновить работу программы с любой строки кода, на которую указывает метка. Для этого используется следующий оператор:

Resume Label

    Обычно в Visual Basic метки применяются только для обозначения фрагментов по обработке ошибок. Несмотря на это, для совместимости с предыдущими версиями BASIC введен оператор безусловного перехода GoTo, но нужда в нем возникает очень редко.




Начало  Назад  Вперед