Вопрос № 27565: Обьясните пожалуйста подробно проверку ошибок. Вот например у меня вылезает сообщение о run-time error '68' Над что бы выскакивало нужное мне сообщение....
Вопрос № 27.565
Обьясните пожалуйста подробно проверку ошибок. Вот например у меня вылезает сообщение о run-time error '68' Над что бы выскакивало нужное мне сообщение.
Отвечает: Licvidator
Здравствуйте, Dushin Igor!
Ну так рядом же пишется дискрипшн этой ошибки.. не совсем вопрос понятен. Или же пишите в каждой функции свой обработчик ошибок. Например:
On error goto e
'код программы
exit sub (или exit function)
e:
'пошел собственно обработчик
if err.Number=68 then msgbox "Опаньки, 68 ошибка"
resume (или resume next, или переход куда-либо, или же вообще выход из функции)
PS Читайте про обработчик On Error
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 11.10.2005, 23:27
Отвечает: Чурсанов Евгений Ильич
Здравствуйте, Dushin Igor!
Ответ смотри в приложении. Если надо могу дать неплохой мануал (пиши на внутреннюю почту). Удачи.
Приложение:
--------- Создайте систему, которой сможет пользоваться дурак, и только дурак захочет ею пользоваться.
Ответ отправил: Чурсанов Евгений Ильич (статус: 3-ий класс)
Отправлен: 11.10.2005, 23:46
Отвечает: Miklucho
Здравствуйте, Dushin Igor!
Можно использовать конструкцию
On Error goto Метка
...
Метка
Где вместо точек должен стоять код в котором происходит (или может произойти ошибка). Если ошибка происходит, то происходит переход на метку, и дальше программа начинает выполняться уже с нее. Меткой может быть набор цифр и букв. Этот способ самый простой и единственный которым я умею пользоваться :). Но он не рекомендуется по той причине, что использование команды GoTo (также как и Exit Sub, Exit For и Exit Do) не совместимо с принципами ООП и вообще считается дурным тоном. Считаться с принципами или нет решать
тебе.
Пример в приложении.
Приложение:
Ответ отправил: Miklucho (статус: Студент)
Отправлен: 12.10.2005, 19:45
Отвечает: Александр Шевченко
Здравствуйте, Dushin Igor!
В VB6 и младше используется обработка ошибок, описанная в приложении.
B VB .NET она полностью переделана, но описать ее не могу :(
Приложение:
Ответ отправил: Александр Шевченко (статус: 4-ый класс)
Отправлен: 14.10.2005, 10:13
Отвечает: Залетин Виталий Викторович
Здравствуйте, Dushin Igor!
Есть такая вещь, как On Error Goto <label>, где <label> - это метка, на которую перейдет прога в случае ошибки. Например:
Sub Delenie()
dim x as long, y as long
On Error Goto ErrHandler
x=10
MsgBox CStr(x/y)
Exit Sub
ErrHandler:
MsgBox "Номер ошибки: " & CStr(Err.Number) & vbCrLf & _
"Описание: " & Err.Description & vbCrLf & _
"Источник: " & Err.Source
Exit Sub
End Sub
Тут будет ошибка деление на 0. Можно еще вот так (та же процедура):
Sub Delenie()
dim x as long, y as long
On Error Resume Next
x=10
MsgBox CStr(xy)
If Err Then
MsgBox "Номер ошибки: " & CStr(Err.Number) & vbCrLf & _
"Описание: " & Err.Description & vbCrLf & _
"Источник: " & Err.Source
Exit Sub
End If
End Sub
--------- Учиться никогда не поздно. Особенно программированию!