Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

В С есть {$I-}...{I+} как в Паскале?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Виктор2



Зарегистрирован: 10.10.2005
Сообщения: 37

СообщениеДобавлено: Вс Фев 05 2006 12:55    Заголовок сообщения: В С есть {$I-}...{I+} как в Паскале? Ответить с цитатой

Надо чтобы програма не выходила при появлении ошибки, а работала дальше. Но если будет ошибка я сам хочу решать что делать дальше.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
sniper::p



Зарегистрирован: 04.10.2005
Сообщения: 237
Откуда: rus/73

СообщениеДобавлено: Вс Фев 05 2006 20:16    Заголовок сообщения: Ответить с цитатой

Имеется ввиду "чистый" С или, может быть, системы что-нибудь вроде С++Билдер (Вижуал С++). Дело в том, что в стандарте Ansi C есть блоки try .. finally .. catch, а в С их нет
_________________
Нет предела совершенствованию
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Wladimir



Зарегистрирован: 02.03.2005
Сообщения: 150
Откуда: Ставропольский край

СообщениеДобавлено: Вс Фев 05 2006 21:46    Заголовок сообщения: Ответить с цитатой

finally нет. Просто - try {...} catch(...) {...}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vasia



Зарегистрирован: 05.02.2006
Сообщения: 8
Откуда: Москва

СообщениеДобавлено: Вс Фев 05 2006 22:20    Заголовок сообщения: Ответить с цитатой

Если речь идет о QC или С700, то там есть несколько возможностей обработки Run Time ошибок. Существует включаемый файл ERRNO.H, в котором их порядка 36-ти.
Ошибки обрабатываются с помощью переменных errno, _dos_errno, *sys_errlist[], sys_nerr, и пр., например, clearerr, ferror, strerror и т.д.
В STDIO.H есть функция perror.
Все это достаточно подробно рассматривается в Help/Index/E. Причем с очень понятными примерами.
В зависимости от возникающей ситуации, которая должна прогнозироваться автором программы, надо пользоваться тем или иным способом обработки ошибки.
В других С могут быть другие примочки, но суть их не меняется.
Предусмотрел, обработал и работай дальше.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Виктор2



Зарегистрирован: 10.10.2005
Сообщения: 37

СообщениеДобавлено: Пн Фев 06 2006 09:43    Заголовок сообщения: Ответить с цитатой

Cпасибо всем!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Пн Фев 06 2006 10:37    Заголовок сообщения: Visual C++ Ответить с цитатой

В Microsoft Visual C++ в их библиотеке времени исполнения предусмотрены вызовы __try, __catch и __finally. Если используете MSVC++, то юзайте их. Cool
_________________
love IT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Wladimir



Зарегистрирован: 02.03.2005
Сообщения: 150
Откуда: Ставропольский край

СообщениеДобавлено: Пн Фев 06 2006 21:52    Заголовок сообщения: Ответить с цитатой

В Buildere аналогично. Но в стандарте - только try/catch.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
sniper::p



Зарегистрирован: 04.10.2005
Сообщения: 237
Откуда: rus/73

СообщениеДобавлено: Вт Фев 07 2006 00:02    Заголовок сообщения: Ответить с цитатой

Да, точно... но идея хороша и полезна. Еще интересная штука в том, что можно самому определять, что за ошибку ты поймаешь, может что-нибудь вроде того, что пользователь ввел не очень достоверные данные о себе...
_________________
Нет предела совершенствованию
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...