Здравствуйте, уважаемые коллеги!
Есть приложение, вызывающее некоторые функции из DLL.
Вызов обрамлён конструкцией try....except.
Этот try... except в некоторых случаях вызывает падение приложения, никаких сообщений не выдаётся. Если try...except убрать, то всё ОК.
Кто-нибудь с такими фокусами сталкивался? Может, есть какие-то особые условия использования конструкции try...except?
Нестабильная работа с try... except
Модератор: Модераторы
-
dip56245_2
- незнакомец
- Сообщения: 1
- Зарегистрирован: 09.08.2006 09:45:54
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Возможно, имеет место банальное переполнение буфера, в результате оказывается испорчен текущий stack frame, в котором хранится адрес предыдущего обработчика исключений - при возникновении исключения система не сможет его найти и ей ничего не останется, как прибить программу. Если же конструкции try..except нет непосредственно вокруг вызова проблемной функции, обработчик уцелеет, т.к. будет находиться дальше от вершины стека.
Но это лишь предположение - конкретно очень сложно что-то сказать, не видя кода и ничего не зная о DLL...
Но это лишь предположение - конкретно очень сложно что-то сказать, не видя кода и ничего не зная о DLL...
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
