Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Ручной отлов Exception-ов - ?   Найти похожие ветки 

 
Nikolay M.   (2003-10-31 11:32) [0]

При отлавливании глюков в программе на VB с удивлением узнал (до сих пор не уверен в этом на все 100), что там отсутствует аналог try...except. Т.е. если, например, при работе с OLE-объектом произошло исключение, то утверждается (не мной), что отловить эту ошибку никак нельзя, со всеми вытекающими последствиями для программы и этого объекта.
Посему возникло два вопроса:
можно ли все-таки как-то отловить исключение средствами VB (вдруг кто имел с этим дело?)
и гораздо более интересный - можно ли отловить исключение в Delphi/Builder/VC и тп (не важно), не используя конструкции типа try..except, try..catch?


 
Sandman25   (2003-10-31 11:57) [1]

Я немного не в тему, но в некоторых языках есть глобальная переменная, в которую записывается код завершения предыдущей команды. Например,
LET i = 1/0
IF STATUS <> 0 THEN
...
К тому же есть команда, управляющая тем, что делать в случае ошибки.
Например,
WHENEVER ERROR CONTINUE
WHENEVER SQLERROR STOP
WHENEVER ERROR CALL myfunction
WHENEVER SQLERROR GOTO mylabel

Можно заставить программу выполнять бредовые команды типа
WHENEVER ERROR CONTINUE
LET a = 1/0
LET b = 1/0
LET c = 1/0
WHENEVER ERROR STOP
а потом продолжать нормальную работу как ни в чем не бывало.


 
Плохиш_   (2003-10-31 12:03) [2]

>Nikolay M. © (31.10.03 11:32)

Тебя обманули


 
Nikolay M.   (2003-10-31 12:16) [3]


> Sandman25 © (31.10.03 11:57) [1]

Это, наверное, что-то весьма специфичное для конкретного языка?


> Плохиш_ (31.10.03 12:03) [2]

Я знал это! :)
Только доказать никак не мог - не пишу я на VB.
А тогда закономерный вопрос - а как? :)


 
Sandman25   (2003-10-31 12:29) [4]

>Это, наверное, что-то весьма специфичное для конкретного языка?

В этом языке (Informix-4GL) просто нет аналогов try-except.


 
Nikolay M.   (2003-10-31 12:37) [5]

А если все-таки зреть в корень: откуда есть идут ексепшены? Изначально?
Уже начинаю понемногу закапываться в мсдн... :)


 
Юрий Зотов   (2003-10-31 13:54) [6]

> Nikolay M. © (31.10.03 12:37) [5]

В правильную сторону копаете, дружище.
См. SEH - Structured Exception Handling.


 
Nikolay M.   (2003-10-31 14:03) [7]


> Юрий Зотов © (31.10.03 13:54) [6]

Спасибо, я как раз уже там :)
Правда, про отлов их в VB 6.0 пока ничего хорошего не накопал (кроме on error goto), но чувствую, что истина где-то рядом...


 
Плохиш_   (2003-10-31 14:15) [8]

>Nikolay M. © (31.10.03 14:03) [7]

Ты будешь удивлён, но в обработке исключений на VB целых три слова совпадают по написанию с обработкой исключений в Delphi
;-)


 
Nikolay M.   (2003-10-31 14:16) [9]


> Плохиш_ (31.10.03 14:15) [8]

Это в .NET (VB 7.0?). В 6.0 такого нет, там SEH :(


 
Плохиш_   (2003-10-31 14:23) [10]

>Nikolay M. © (31.10.03 14:16) [9]

Hmm.. ладно, ок Плохиш_ (31.10.03 14:15) [8] отменяется ;-)
А чем On Error Resume Next не устраивает?


 
Nikolay M.   (2003-10-31 14:33) [11]


> Плохиш_ (31.10.03 14:23) [10]

Тогда такой вопрос: если ты работаешь из VB с Екселем через автоматизацию и в какой-то момент у екселя произойдет что-то вроде "Interface not supported" или "Internal server error", On Error Resume Next это отловит? Проверить сам не могу, VB-шника рядом нет.


 
Dimaz-z   (2003-10-31 15:05) [12]

А в Delphi Application.OnExeption


 
Nikolay M.   (2003-10-31 15:07) [13]


> Dimaz-z © (31.10.03 15:05) [12]

Речь не об этом.


 
Плохиш_   (2003-10-31 15:16) [14]

>Nikolay M. © (31.10.03 14:33) [11]

Я уже давно не работаю с VB.
А проверять тебе придётся самому, да и пользы больше будет


 
Nikolay M.   (2003-10-31 15:25) [15]


> Плохиш_ (31.10.03 15:16) [14]

Дык и у меня VB нет :(
А интерес у меня чисто академический :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
6-41808
nikkie
2003-09-15 14:51
2003.11.13
double click в EmbeddedWB


1-41270
hepry
2003-10-31 14:38
2003.11.13
Правильная работа с ComboBox csDropDown


1-41470
Sirus
2003-10-29 07:16
2003.11.13
Нужно установить вручную Flash Player (неважно какой)???


4-42232
Evgeniy_K
2003-09-01 12:23
2003.11.13
Сохранение картинки из буфера в файл


14-41877
ИМХО
2003-10-21 12:32
2003.11.13
Прогнозы на Локо и ДК





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский