|
|
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
Коллеги, такой вопрос: есть ли какой-либо способ узнать, что в коде FastScript скрипта было вызвано обрабатываемое исключение, к примеру такое: Код: pascal 1. 2. 3. 4. 5. Моя задача минимум в том, чтобы в коде приложения, выполнившего скрип, хотя бы просто подсчитать, сколько произошло таких "тихих" исключений. Если это важно - скрипт выполняется из делфового приложения через Script.CallFunction(), если обернуть вызов CallFunction() в try..except то успешно обработанное скриптовое исключения, естественно, не приведёт к срабатыванию секции except в делфовом приложении. Никаких ивентов для обработки ошибок типа OnException у FastScript, судя по всему, не предусмотрено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2021, 19:09 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
vdix, Добавить в скрипт глобальную переменную и увеличивать её значение в секции Exception скрипта? А потом из приложения считать её значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2021, 19:13 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
vdix, В скрипте есть две переменные ExceptionMessage и ExceptionClassName, хранят информацию о последнем исключении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2021, 20:53 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
авторДобавить в скрипт глобальную переменную и увеличивать её значение в секции Exception скрипта? А потом из приложения считать её значение? Плохая идея - скрипт может писаться другими людьми, требовать объявление какой-то переменной, ещё и изменения её в каждой секции исключения - это зло потому что не учитывает, что автор скрипта может просто забыть в каком-то except-е добавить увеличение переменной. авторВ скрипте есть две переменные ExceptionMessage и ExceptionClassName, хранят информацию о последнем исключении.Такое себе подспорье, если ошибка будет происходить в цикле в одном и том же месте - это никак не поможет посчитать количество срабатываний: Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2021, 12:21 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
авторТакое себе подспорье, если ошибка будет происходить в цикле в одном и том же месте - это никак не поможет посчитать количество срабатываний А как бы вы в Delphi посчитали количество ошибок ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2021, 12:32 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
vdix Плохая идея - скрипт может писаться другими людьми, требовать объявление какой-то переменной, ещё и изменения её в каждой секции исключения - это зло потому что не учитывает, что автор скрипта может просто забыть в каком-то except-е добавить увеличение переменной. 1. Обявить глобальную переменную из Delphi фастскрипт не позволяет что-ли?.. Понятно что не в скрипте. 2. Если ты хочешь что-то посчитать, то тебе придётся это считать, увы. Раз разработчики не предусмотрели событие OnException - значит считать придётся в скрипте, чудес не бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2021, 12:38 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
Так-то да. Думал, может класс хелпер какой сделать, но покрутил это и так, и сяк - на ум не приходит, как его реализовать. Там нужно в TfsTryStmtHelper.Execute залезть и поковыряться, но хелпер оверрайдить методы не позволяет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2021, 14:16 |
|
||
|
Узнать, что в FastScript произошёл exception
|
|||
|---|---|---|---|
|
#18+
vdix, Решается простой заменой переменной ExceptionMessage. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2021, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40046845&tid=2037601]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 448ms |

| 0 / 0 |
