|
|
|
Обработчик ошибок
|
|||
|---|---|---|---|
|
#18+
Тружусь над созданием обработчика ошибок своего каркаса приложения. И возникла парочка вопросов. Есть форма, на ней обычная кнопка, в методе Click которой следующий код. Код: plaintext 1. 2. Также есть глобальный обработчик ошибок. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. При возникновении ошибки по клику на кнопке не понятно почему проходит сообщение MESSAGEBOX("Test")???? Ведь если произошла ошибка, то процедура должна прерваться, т.к. дальнейшие действия непредсказуемы. И еще, если я вставляю обработчик в методе Error формы с кнопкой, он не выполняется, а выолняется опять глобальный обработчик???? Все разрабатывается под VFP 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 08:45 |
|
||
|
Обработчик ошибок
|
|||
|---|---|---|---|
|
#18+
Все правильно. Ты просто сделал вывод сообщения об ошибке. Но не указал что делать. Точнее указал по умолчанию команду return Возможно три варианта завершения обработчика ошибок: 1. return - игнорировать ошибку и выполнить код со следующей строки (доп. вариант return to ... для возврата в какую-то верхнюю процедуру) 2. retry - повторить выполнение строки с ошибкой 3. cancel - прервать выполнение программы Тебе нехватает cancel в конце обработчика PS Если объект имеет свой обработчик ошибок (прописан метод Error()) глобальный обработчик м.б. вызван только явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:11 |
|
||
|
Обработчик ошибок
|
|||
|---|---|---|---|
|
#18+
Пишу cancel в обработчике, но в итоге мою прогу начинает колбасить по черному ))) Завершить удается только через диспетчер задач 8( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:03 |
|
||
|
Обработчик ошибок
|
|||
|---|---|---|---|
|
#18+
Себастьян ПерейраПишу cancel в обработчике, но в итоге мою прогу начинает колбасить по черному ))) Завершить удается только через диспетчер задач 8(Это деструкторы объектов работают :) их cancel не берет. Смотри что там происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 13:23 |
|
||
|
Обработчик ошибок
|
|||
|---|---|---|---|
|
#18+
Знаю, что некорректно сделал, но зато работает. Вместо CANCEL поставил RETURN TO на несуществующую процедуру, а так как в обработчике ошибок ошибки не обрабатываются, то все нормально проходит. OnShutDown() RETURN TO SomewhereIDoNotBelong ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 09:18 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34709561&tid=1588911]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 182ms |
| total: | 291ms |

| 0 / 0 |
