Глобальный ON Erorr

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Глобальный ON Erorr

Сообщение Taras2 » 09.01.2004 (Пт) 12:45

Можно ли, и как сделать сабж. Т.е. не писать в каждой процедуре

ON Erorr GoTo ErrorLabel
...
ErrorLabel:
...
Resume Next

а сделать её общей на весь проект (или хотябы модуль).

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 09.01.2004 (Пт) 12:55

Увы, увы... Такое не предусмотрено, поскольку нет глобальных решений всех проблем сразу. С каждой ошибкой надо разбираться по отдельности. Но ошибку можно и не ловить, а обрабатывать её в вызывающем модуле.

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 09.01.2004 (Пт) 13:28

Почему же нельзя, можно все, главное желание. Пишешь в модуле Public функцию которая будет получать параметрами коды ошибок и идентификатор процедур и функций из которых происходит вызов. А потом из любой процедуры вызываешь в случае ошибки эту функцию и передаешь ей нужные параметры.
Если руки кривые, то не надо ругать разработчиков.

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 09.01.2004 (Пт) 13:38

Пардон, XPraptor, но ведь всё равно в каждой процедуре придётся писать

ON Erorr GoTo ErrorLabel
...
ErrorLabel:
...
Resume Next

А ведь об этом-то и был вопрос!

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 09.01.2004 (Пт) 13:47

GoTo Label не нужно писать нужно функцию вызывать:
On Error Call PublicErrFuncs("CurrentProcedureName", Err.Number,...):Resume Next
Если руки кривые, то не надо ругать разработчиков.

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Сообщение Taras2 » 09.01.2004 (Пт) 15:34

XPraptor писал(а):On Error Call PublicErrFuncs("CurrentProcedureName", Err.Number,...):Resume Next


MsgBox:

Compile error:

On Error Expected: GoTo or Resume

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 09.01.2004 (Пт) 15:50

Сорри! Конечно же не просто On Error, а через RiseEvent.
Если руки кривые, то не надо ругать разработчиков.

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Сообщение Taras2 » 09.01.2004 (Пт) 15:54

XPraptor писал(а):Сорри! Конечно же не просто On Error, а через RiseEvent.

Поясни подробнее плз.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList  
cron