|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
Леди и джентльмены! Пожалуйста, объясните, как применять конструкцию TRY...CATCH. Я хочу сделать так, чтобы при попытке записать уже открытый файл в EXCEL выдавалось сообщение, а моя форма закрывалась. Пробовала так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 11:40 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
Между try и catch делается попытка выполнить потенциально опасное действие, между catch и endtry делаются действия в случае ошибки при вполнении первого блока. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 11:48 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
Да, все работает, не как я хотела, даже не знаю, лучше ли это получается. Вместо ожидаемого мною закрытия формы после применения TRY...CATCH просто выдается сообщение "Зактройте EXCEL!", нажимаем ОК, программа продолжает работу, происходит подсчет, после чего открывается в экселе второй документ с тем же отчетом. Это, конечно, намного лучше, нежели системное сообщение, срыв работы программы и оставшийся в резидентах Excel, который можно закрыть только через Диспетчер файлов. С другой стороны нерадивый и невнимательный пользователь может расплодить кучу этих екселевских документов. Почему не произошло закрытие формы по команде thisform.Release() ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 12:09 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
2 Лисонька + к ответу это используют для локальной обработки ошибки к примеру: в приложении есть глоб-я обработка (on error) у нас есть код, в котором есть место, в котором может произойти ошибка и мы не желаем, чтобы отработал глоб-й обработчик такой код мы оборачиваем в трай и сами либо игнорируем ош-ку, либо что-то выполняем, либо опять-же зовем глоб-й обработчик ... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 12:10 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
2Лисонька из трая нельзя выполнять ретурн попробуйте написать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 12:13 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
В дополнение к написанному: Лисонька Код: plaintext 1. 2.
CATCH - зарезервированное слово. Отделяет попытку выполнить опасное действие от обработки ошибки выполнения такого опасного действия. НЕ НАДО его применять для имени переменной. Удивительно, что у фокса на таком тексте крыша не съехала. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 12:17 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
проходящий.В дополнение к написанному: Лисонька Код: plaintext 1. 2.
CATCH - зарезервированное слово. Отделяет попытку выполнить опасное действие от обработки ошибки выполнения такого опасного действия. НЕ НАДО его применять для имени переменной. Удивительно, что у фокса на таком тексте крыша не съехала. ))) Это я пыталась вопротить в жизнь примечание из Hеlp'a: "Если вы желаете иметь структуру TRY...CATCH...FINALLY, которая будет отлавливать все ошибки, то убедитесь в том, что ваш оператор CATCH будет всегда оцениваться в True (.T.)." ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 12:29 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
Хоршо, что есть этот форум. Благодарю всех, всех, всех! Елизавета Скрунскайте ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 12:31 |
|
Объясните, пожалуйста, применение TRY...CATCH
|
|||
---|---|---|---|
#18+
ЛисонькаХоршо, что есть этот форум. Благодарю всех, всех, всех! Елизавета Скрунскайте А еще лучше создать свой объект класса Exception, в нем сдеалать все, что надо для обработки ошибки (запись в лог, формирование своего текста ошибки и пр.) и в CATCH его вызвать через THROW CREATEOBJECT("myException") Все это подробно показана в HELP С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2008, 13:50 |
|
|
start [/forum/topic.php?fid=41&msg=35582591&tid=1587205]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 165ms |
0 / 0 |