Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.06.2011, 23:50
|
|||
---|---|---|---|
Откуда запущен Exception? |
|||
#18+
Ситуация: Функция nvo_main.uf_main вызывает nvo_A.uf_1; в свою очередь, nvo_A.uf_1 вызывает nvo_B.uf_2. nvo_B.uf_2 запускает (throws) Exception; nvo_A.uf_1 НЕ обрабатывает его, а передаёт дальше, а вот nvo_main.uf_main уже перехватывает и обрабатывает этот Exception. Вопрос: есть ли возможность в uf_main узнать какой скрипт какого объекта запустил исключение (т.е. в данном примере получить "nvo_B.uf_2")? А ещё лучше = вообще "развернуть" стек вызовов? Разумеется, эту информацию можно тупо загнать в Exception в nvo_B.uf_2 используя SetMessage (вместе с описанием ошибки), но, может, есть решение поэлегантней? Использую PB8. Thanx! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.06.2011, 11:32
|
|||
---|---|---|---|
Откуда запущен Exception? |
|||
#18+
Ursego, Не знаю, поможет ли, есть функции PopulateError() и SignalError(). Туда можно вогнать, в какой функции чаво происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.06.2011, 20:17
|
|||
---|---|---|---|
Откуда запущен Exception? |
|||
#18+
PopulateError() - это значит лишние строки кода когда эксепшен запускается, а моя цель - укоротить скрипты. Пока что решил проблему просто - создав в своём NVO функцию uf_throw(as_msg, as_script), имеющую следующий код: Код: plaintext 1. 2. 3. 4. 5.
Так что запуск эксепшена теперь довольно компактен (правда, передачу нмени скрипта элегантным не назовёшь): Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.06.2011, 20:24
|
|||
---|---|---|---|
Откуда запущен Exception? |
|||
#18+
К тому-же, если делать такую функцию универсальной (в отдельном объекте), то ещё и имя объекта придётся передавать... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2012, 23:59
|
|||
---|---|---|---|
Откуда запущен Exception? |
|||
#18+
Если кому интересно, решение проблемы описано тут (может, не идеальное, но удобное практически - жить можно). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=15&mobile=1&tid=1335592]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 259ms |
0 / 0 |