Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

Знатокам Visual C++ ...   Найти похожие ветки 

 
Skier ©   (2005-03-04 09:06) [0]

Господа, с знакомые Visual C++,  прошу оказать вспоможение.
Проблема в следующем :

есть библиотека... если компилить Release"овскую версию библиотеки, то не работает оператов try{}...catch{} такое впечатление что он просто игнорируется, если же компилить Debug"овскую версию, то всё работает...  

1) В чем может быть дело ? Может есть некие Define"ы на это счёт ?
2) Может ли быть дело в переопределённом операторе try ? (в библиотеке есть переопределённый оператор try)


 
Skier ©   (2005-03-04 10:47) [1]

Up


 
Игорь Шевченко ©   (2005-03-04 10:48) [2]

Странно. Не сталкивался с таким поведением. Небольшой пример напиши, где это проявляется и выложи.


 
VMcL ©   (2005-03-04 10:58) [3]

>>Skier ©   (04.03.05 09:06)

Версия, сервис-паки?


 
Skier ©   (2005-03-04 11:26) [4]

>Игорь Шевченко ©   (04.03.05 10:48) [2]


> Небольшой пример напиши, где это проявляется и выложи.

пример не получится, к сожалению... это чужая библиотека (PHP-интерпретатор). пытаемся там в одном месте использовать try-catch
и в Release"овской версии не получается...

>VMcL ©   (04.03.05 10:58) [3]

> Версия, сервис-паки?

Microsoft Visual C++ 7.1.3088


 
Григорьев Антон ©   (2005-03-04 11:35) [5]

А точно именно try/catch не работает? Может, в релизной версии просто не выкидывается исключение?


 
VMcL ©   (2005-03-04 11:39) [6]

>>Skier ©   (04.03.05 11:26) [4]

Это 2003-я студия? Я в 2003-й только с Нетовскими проектами работал, так что, сори, помочь не могу.


 
Alx2 ©   (2005-03-04 11:40) [7]

Skier ©   (04.03.05 9:06)

Вот это если проверить:

В опциях проекта (Alt+F7) для варианта Release на закладке "С/C++" в категории "С++ language" поставить галочку "Enable exception handling"?


 
Skier ©   (2005-03-04 11:44) [8]

>Григорьев Антон ©   (04.03.05 11:35) [5]

> А точно именно try/catch не работает?

Не уверен, если честно, но очень похоже что так...

кусок такой :

try{
zend_call(...) //-вызов функции из другой библиотеки...
}
catch(...){
//...
}

так вот в debug"овской версии в блок catch мы приходим, а в release"овской - нет...


> Может, в релизной версии просто не выкидывается исключение?

а такое может быть ?


 
clickmaker ©   (2005-03-04 11:55) [9]


> Может, в релизной версии просто не выкидывается исключение?
>
> а такое может быть ?

Если программа работает без ошибок, значит что-то в ней не так... :))


 
Skier ©   (2005-03-04 11:59) [10]

>clickmaker ©   (04.03.05 11:55) [9]
у людей горе, а ты шутишь...:)


 
Григорьев Антон ©   (2005-03-04 15:43) [11]


> Skier ©   (04.03.05 11:44) [8]
> > Может, в релизной версии просто не выкидывается исключение?
>
> а такое может быть ?

Вполне. Например, если там есть такой код:

ASSERT(a/b>0)

В release-версии ASSERT вытирается препроцессором, поэтому выражение в скобках вычисляться в принципе не будет. А в debug-версии, если b=0, здесь вылезет исключение. В более общем случае то же самое может происходить, если код, вызывающий исключение, обрамлён #ifdef _DEBUG/#endif, т.е. попадает компилятору только при компиляции debug-версии.


 
Аюс   (2005-03-04 16:22) [12]

Да есть такое ...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.036 c
1-1110881978
integery
2005-03-15 13:19
2005.03.27
как програмно узнать путь к файлу которий щас играєт winamp


8-1098546514
Graff
2004-10-23 19:48
2005.03.27
Математическая модель человека


6-1105609202
Studentas
2005-01-13 12:40
2005.03.27
physical adress cетевухи?


3-1109412494
Walker
2005-02-26 13:08
2005.03.27
Нужен компонент а-ля Access "поле со списком"


1-1110870416
Object
2005-03-15 10:06
2005.03.27
Обработчик события по нажатию <B>правой </B>кнопки мышки на TPane





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский