Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2007, 08:27   #1
Kocapb
Пользователь
 
Регистрация: 28.10.2007
Сообщений: 61
По умолчанию try... catch

здравствуйте нубский вопрос стыдно, но деваться некуда =)
надо отловить значение CheckPoint
try
{
вычесление CheckPoint...
}
catch (Что писать здесь?)
{
если CheckPoint == 0
Application->MessageBoxA("Ошибка",MB_OK);
}
Kocapb вне форума Ответить с цитированием
Старый 18.12.2007, 10:51   #2
Alek86
Форумчанин
 
Регистрация: 25.09.2007
Сообщений: 189
По умолчанию

что такое CheckPoint?
на первый взгляд примерно так:

Код:
try {
  if (/*условие*/) {
    throw CheckPoint();
  }
} catch(const CheckPoint& check_point) {
  if (check_point == 0) {
    Application->MessageBoxA("Ошибка",MB_OK);
  }
}
Alek86 вне форума Ответить с цитированием
Старый 18.12.2007, 17:16   #3
Kocapb
Пользователь
 
Регистрация: 28.10.2007
Сообщений: 61
По умолчанию

CheckPoint переманая целого типа
Kocapb вне форума Ответить с цитированием
Старый 18.12.2007, 17:24   #4
Kocapb
Пользователь
 
Регистрация: 28.10.2007
Сообщений: 61
По умолчанию

AnsiString New_aPathJPEG;
int CheckPoint;
try
{
CheckPoint = New_aPathJPEG.Length(); //вычисление длины строки
}
catch(???)
{
if(CheckPoint == 0)
Application->MessageBoxA("Неверный ввод",MB_OK);
}
что писать вместо вопросов?
пробывал (int CheckPoint) не ловит...
возможно у тебя возникнет вопрос почему я простым if не обойдусь. Отвечу: нужно повторить ввод строки до тех пор пока она не будет заполнена символом при этои необходимо выводить сообщение. Так сказать "защита от дурака" на уровне интерфейса. Да и try... catch хотелось бы освоить довольно не плохой инструмент.

Последний раз редактировалось Kocapb; 18.12.2007 в 17:33.
Kocapb вне форума Ответить с цитированием
Старый 18.12.2007, 17:30   #5
lacost
Пользователь
 
Регистрация: 25.03.2007
Сообщений: 67
По умолчанию

void main()
{
int CheckPoint;
try
{
CheckPoint=10;
throw(1);
}
catch(int)
{
cout<<CheckPoint;
}
}

Всё работает проверял.
lacost вне форума Ответить с цитированием
Старый 18.12.2007, 19:43   #6
Alek86
Форумчанин
 
Регистрация: 25.09.2007
Сообщений: 189
По умолчанию

ну, или можно кинуть
Код:
throw CheckPoint;
а дальше
Код:
catch(int iCatched)
{
cout<<iCatched;
}
но поскольку я не понял задания, то не знаю, чей вариант лучше
Alek86 вне форума Ответить с цитированием
Старый 19.12.2007, 04:30   #7
Kocapb
Пользователь
 
Регистрация: 28.10.2007
Сообщений: 61
По умолчанию

спасибо более мене разобрался =)
Kocapb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает вложенный catch jorjik Общие вопросы C/C++ 5 13.07.2008 22:37
try ... catch CBeginner Общие вопросы C/C++ 3 23.06.2008 07:12