Форум программистов, компьютерный форум CyberForum.ru

обратотка исключений - C++

Восстановить пароль Регистрация
 
Algid
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 13
18.04.2010, 20:45     обратотка исключений #1
Здравствуйте.Имеется перегруженный оператор() для обращения к эл-ту матрицы
C++
1
2
3
4
5
6
float Matrix::operator()(int i,int j)
{if(i>j)
                  {return a[j-1][i-j];}
                  else
                  return a[i-1][j-i];
}
надо обработь ситуацию,когда (i-1>=n)||(j-1>=n)||(i<=0)||(j<=0),т.е. вводимые индексы i,j превышают размерность квадратной матрицы n.Не могу понять как построить исключение try-throw-catch с выводом сообщения об ошибке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2010, 20:45     обратотка исключений
Посмотрите здесь:

Обработка исключений C++
C++ Обработка исключений
C++ Коды исключений
Обработка исключений C++
Обработка исключений с пмощью структурированной обработки исключений C++
C++ Обработка исключений
C++ Обработка исключений
Обработка исключений C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Metax
 Аватар для Metax
6 / 6 / 3
Регистрация: 27.02.2010
Сообщений: 17
20.04.2010, 01:25     обратотка исключений #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
float Matrix::operator()(int i,int j)
{
    if(i>j)
    return a[j-1][i-j];
    else if(i<j)
    return a[i-1][j-i];
    else
    throw 1; // если ошибка скинет код ошибки в catch
}
 
try
{
// здесь исполняемый код, если ловит ошибку скидывает в catch, проверяя тип исключения
}
 
catch (int i)
{
   if (i=1)
   cout << "ошибка в float Matrix::operator()(int i,int j)";
   else
   cout << "неизвестная ошибка";
}
Algid
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 13
20.04.2010, 21:45  [ТС]     обратотка исключений #3
Спасибо!
Yandex
Объявления
20.04.2010, 21:45     обратотка исключений
Ответ Создать тему
Опции темы

Текущее время: 00:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru