Прерывание выполнения ф-ции или процедуры

Программирование на Active Server Pages и VBScript.
Fokin Max
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.04.2006 (Ср) 10:05
Откуда: Москва

Прерывание выполнения ф-ции или процедуры

Сообщение Fokin Max » 01.05.2006 (Пн) 21:50

Доброе утро,

К сожелению не могу сам решить следующую проблемму:

Предусловие
есть скрипт на VBScript который вызывает sub(ы) и function(ы) из этого же скрипта. Эти ф-ции или процедуры состоят из 10-20 строчек кода.
В середине ф-ции или процедуры стоит проверка условия

Вопрос
Как сделать так что бы если условие не выполняется
то вызывалась-бы моя ф-ция FAIL и выполнение
передавалось бы в вызывающий скрипт.
То есть что бы ф-ция или процедура если вызвался FAIL дальше не выполнялись, а продолжил бы выполняться мой скрипт

Vinechka
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 381
Зарегистрирован: 10.05.2005 (Вт) 4:07
Откуда: Москва

Сообщение Vinechka » 01.05.2006 (Пн) 21:53

Exit function, Exit sub.

Fokin Max
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.04.2006 (Ср) 10:05
Откуда: Москва

Сообщение Fokin Max » 01.05.2006 (Пн) 22:09

Уважаемый Vinechka
к моему глубочайшему сожелению я забыл написать
ЧТО КАК РАЗ EXIT SUB нельзя использовать
то есть что бы было так


sub max11
A= 34
B = -47
------------------------------
if A = B Then
FAIL "test error"
endif
A= B+A
B= A*2
end sub

то есть что бы инструкции A= B+A и B= A*2 не выполнялись
в случае если вызывается FAIL

Vinechka
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 381
Зарегистрирован: 10.05.2005 (Вт) 4:07
Откуда: Москва

Сообщение Vinechka » 01.05.2006 (Пн) 22:37

А так нельзя?
Код: Выделить всё
sub max11
A= 34
B = -47
if A = B Then
FAIL "test error"
Exit sub
endif
A= B+A
B= A*2
end sub


Или вот так?
Код: Выделить всё
sub max11
A= 34
B = -47
if A = B Then
FAIL "test error"
else
A= B+A
B= A*2
end if
end sub

Fokin Max
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.04.2006 (Ср) 10:05
Откуда: Москва

Сообщение Fokin Max » 02.05.2006 (Вт) 8:40

Уважаемый Vinechka

Вопрос в том "Как прервать выполнение sub, не использую exit sub"
то есть

sub ms11
dim a
dim b

Первая куча операций

if a=b then
FAIL
else (или elseif)
a=b (Или что то подобное)
endiif

Вторая куча операций

end sub


Как сделать так что бы вторая куча операций НЕ ВЫПОЛНЯЛАСЬ
и при этом не использовать exit sub

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 02.05.2006 (Вт) 12:05

goto exit_label

Fokin Max
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.04.2006 (Ср) 10:05
Откуда: Москва

Как прервать выполнение sub, без exit, goto return ...

Сообщение Fokin Max » 02.05.2006 (Вт) 13:46

Уважаемый Konst_One

Как прервать выполнение sub, не используя exit sub, не используя return, не используя вообще никаких дополнительных команд или инструкций
Можно дополнять и модифицировать тело ф-ции FAIL

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 02.05.2006 (Вт) 13:54

не используя вообще никаких дополнительных команд или инструкций


Ты сам то понял, что написал? Кто окромя программиста этой функции может знать, что нужно из нее выйти :lol:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 02.05.2006 (Вт) 13:56

Response.End внутрь функции FAIL() засунь, но я думаю, что твою проблему кроме тебя никто не решит.

smaharbA
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 16.06.2005 (Чт) 5:08

Сообщение smaharbA » 02.05.2006 (Вт) 20:08

Konst_One - а давно в VBScript добавлена конструкция goto ? :)
Fokin Max - не мудри exit sub самое то тебе
Я конечно далек от мысли...(с)


Вернуться в ASP и VBScript

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

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

    TopList