Программирование
Веб программирование

Отладка в VB

 
 

Скорее всего каждая твоя программа содержит кучу ошибок, чаще всего это неправильные действия юзера. Для того чтоб этого избежать в VB, и в других языках есть отладка. Здесь я не буду говорить тебе о всех способах нахождения и устранения ошибок, т.к. сам в этом не силен, но расскажу о самом главном.

Игнорирование ошибок

Для игнорирования ошибок служит оператор On Error Resume Next.
Вот маленький пример из моей программы "Кодировщик". Подключите библиотеку Microsoft Common Dialog 6.0, назовите ее CD1

Private Sub Command1_Click() 'При нажатии на кнопку:
CD1.ShowOpen 'Открывается окно открытия файлов
d = FreeFile
Open CD1.filename For Output As d 'Открывается выбранный юзером файл (если юзер не выбрал файл (нажал отмена), то произойдет ошибка)
Close d 'Закрываем файл
End Sub

Не поленись скопируй этот текст в VB, и не забудь подключить библиотеку. А вот пример этой же программы, только уже отлаженной:

Private Sub Command1_Click()
CD1.ShowOpen
d = FreeFile
On Error Resume Next ' Если юзер не выбрал файл, то ошибка игнорируется
Open CD1.filename For Output As d
Close d
End Sub

Способ перескока

 В этом способе при возникновении ошибки будет перескакивать на заданную позицию. Пример отлаженной программы:

Private Sub Command1_Click()
CD1.ShowOpen
d = FreeFile
On Error GoTo Ошибка 'Если происходит ошибка то происходит перескакивание до Ошибке:
Open CD1.filename For Output As d 
Close d 
MsgBox "" 'Здесь я специально поставил MsgBox, чтобы ты почувствовал разницу
Ошибка: 'Досюда происходит перескок
End Sub

Напоминаю, что чтобы произошла ошибка, нажми на кнопку, и в окне открытия файлов, нажми на Отмена.

Перехват Ошибок

Описание этого способа ты не где ни найдешь кроме моего учебника (т.к. его я сам придумал), но может найдешь похожее. Если тебя закалибала какая - то ошибка, то ты можешь ее игнорировать, или заменить. Чтобы узнать номер ошибки, и то что в ней написано, есть объект Err. Для начала нам надо узнать номер ошибки. Для этого создай новый проект(Standart EXE), на форму кинь Текстовое поле, и кнопку.

Private Sub Command1_Click()
CD1.ShowOpen
d = FreeFile
On Error GoTo Ошибка 'Если происходит ошибка то происходит перескакивание до Ошибке:
Open CD1.filename For Output As d 
Close d 
MsgBox "" 'Здесь я специально поставил MsgBox, чтобы ты почувствовал разницу
Ошибка: 'Досюда происходит перескок
Text1.Text = Err.Number 'Если в Окне открытия файлов, юзер нажмет на Отмена, то произойдет Ошибка, и ее номер куда - то запишется, и мы с помощью объекта Err узнаем ее номер (в текстовом поле)
End Sub

Зная номер ошибки (а мы уже знаем!), можно ее заменить.

Private Sub Command1_Click()
CD1.ShowOpen 
d = FreeFile

On Error GoTo g 'Если происходит ошибка, то мы игнорируем ее
Open CD1.filename For Output As d 
Close d
g:
If Err.Number = 75 Then 'Зная номер ошибки мы можем что - нибуть сделать (например обосрать юзера...)
MsgBox "Не нажимай на ОТМЕНУ - ЛАМЕР ПОГАНЫЙ!!!", 16
End If
End Sub

На этом все, если в тебе кипит кровь, и ты хочешь узнать об отладке больше, то в поищи в Яндексе, там статей на эту тему до сраки.


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.