On Error Goto... -1 ?!?!?!?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

On Error Goto... -1 ?!?!?!?

Сообщение Sebas » 22.03.2005 (Вт) 9:09

ВОт такое выскочило в дизайнере 2005

Что может означать On Error Goto -1 ?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Денис Победря
Мегобойанист
Мегобойанист
 
Сообщения: 1037
Зарегистрирован: 03.01.2005 (Пн) 21:29
Откуда: Из Москвы

Сообщение Денис Победря » 22.03.2005 (Вт) 14:22

Не понял вопроса, а в ВиБиДотНэт используется Try...Catch...Finally...End try

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 22.03.2005 (Вт) 14:32

не только
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.03.2005 (Вт) 15:44

В VB6 сабж означал "сбросить обработчик ошибок".
На эту тему была статья в KB, но сейчас её куда-то убрали :-(

См. также http://msdn.microsoft.com/library/RUS/v ... nerror.asp
Изображение

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 22.03.2005 (Вт) 16:05

Хорошо, тогда так:

Чем отличается

On Error Goto 0

от

On ErrorGoto -1
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.03.2005 (Ср) 2:50

"On Error Goto 0" отключает обработчик ошибок (т.е. при её возникновении вызовется вышестоящий обработчик).
"On Error Goto -1" сбрасывает обработчик в состояние "ошибки не было", эквивалентен коду
Код: Выделить всё
If Err Then Resume Here
Here:

При этом "On Error Goto -1" никак не переназначает обработчик - при новой ошибке управление вновь передастся в то же место.
Изображение

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 23.03.2005 (Ср) 8:48

Спасибо!

Вот ещё, а после

Return Obj
Obj можно изменить?

Можно, конечно, попробовать самому))))) Но как всегда ломает.
Мож кто уже сталкивался?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.03.2005 (Ср) 9:47

А что такое Obj и как (и где) менять его ты хочешь?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 23.03.2005 (Ср) 10:53

try

obj=GetMyObjectFunc()
Return Obj 'возвращаем

Finally

obj.SomeProperty="Changed!"

end try

Возвращаемый объект будет c Изменённым свойством?
Да! Конечно объект по значению! По ссылке, понятно, изменится.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

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

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

    TopList