powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Нет, ну как ЭТО может не работать?????
9 сообщений из 9, страница 1 из 1
Нет, ну как ЭТО может не работать?????
    #32713839
Lepsty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
try{
   tmpI =  2 - 2 ;
    1 /tmpI;  //Деление на ноль 
}
catch(...)
{
   tmpI =  1 ;
   ShowMessage("Catched");
}

Не попадает в скобки catch'а, зараза! Как же так? Что же за бяка?
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32713841
Lepsty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения - избыток эмоций ведет к дефициту информации.
try вроде как нормально срабатывает - сообщения об ошибке нет, но вот в скобки catch'a попадать упорно не хочет, гадина...
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32713850
gd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gd
Гость
ню если судить по коду ... то оптимизатор вам все и поправил ... : )))

если нет комрады поправят
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32713853
Lepsty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К такому замечательному коду привела борьба за попадание в операторные скобки catch. Вообще-то там изначально было обращение к 1С-базе по OLE
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   try{ //Проверка уже наличия - хе-хе, кривовато будет :-))) 
      ForCheck = OLE_1C.Exec(Function("EvalExpr") << "OLE_Check()");
      return;
   }
   catch(...){
   OLE_1C = CreateOleObject("V77M.Application");
   Trade = OLE_1C.OlePropertyGet("RMTrade");
   if ( VarType(Trade) == varDispatch ) ShowMessage("Attention!!! Not connected!");
   OLE_1C.Exec(Function("Initialize") << Trade << "/DC:\\xxx\\1С /Nxxx /P" << "NO_SPLASH_SHOW" );

}//Проверка уже наличия - хе-хе, кривовато будет :-)))
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32714058
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой компилятор ? Какие опции его в проекте ?
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32714078
Sieben
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ещё можно использовать __try вместо try
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32714079
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКакой компилятор ? Какие опции его в проекте ?

По ShowMessage догадываюсь что это BC++


попробуй так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
try
{
   tmpI =  2 - 2 ;
    1 /tmpI; //Деление на ноль
}
catch(Exception &e)
{
   tmpI =  1 ;
   ShowMessage(e.Message);
}
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32714130
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я к тому спрашиваю про компилятор, что вообще-то деление на ноль вызывать C++ exception не обязано. В некоторых компиляторах (MSVC, например) сделана возможность WIN32 SEC exceptions получать в виде C++ exceptions. Но это нужно включать отдельной опцией.
...
Рейтинг: 0 / 0
Нет, ну как ЭТО может не работать?????
    #32714842
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_The_try.2c_.catch.2c_.and_throw_Statements.asp

авторthe catch clause handles any type of exception, including C exceptions and system- or application-generated exceptions such as memory protection, divide by zero, and floating-point violations. Such a handler must be the last handler for its try block.


А вы этот код откуда запускаете? Если из BC IDE - то он по умолчанию использует собственную обработку исключений (точнее просто останавливает выполнение и сообщаяет об ошибке - это поведение можно отключить)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Нет, ну как ЭТО может не работать?????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]