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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Perzh
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 25
#1

C++ exception - C++

24.11.2013, 23:32. Просмотров 761. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Делал лабу, описал класс матрица в котором есть метод нахождения обратной матрицы:
C++
1
2
double det = m.det();
if(det == 0) throw new exception("Определитель равен нулю!");
Класс оформлен в отдельных файлах matrix.cpp и matrix.h. Когда в main вызываю метод inverse, исключение не перехватывается
C++
1
2
3
4
5
6
7
8
9
10
11
12
try
{
    m.read("4.txt");
 
    inverse_m = m.inverse();
 
    inverse_m.print();
}
catch(exception &e)
{
    cerr << "Error: " << e.what() << endl;
}
Почему такое может происходить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 23:32     C++ exception
Посмотрите здесь:

Exception - C++
Реализовать свой класс исключений zero, производный от std::exception (используется при попытке деления вектора на ноль). В классе zero...

exception - C++
Суть такова , она нормально не работает , и выкидывает исключение , не могу понять в чем дело #include&lt;iostream&gt; #include&lt;cstdio&gt; ...

Exception переполнение - C++
Подскажите пожалуйста, вот есть для встроенная библиотека для обработки ошибко exception. В ней есть класс overflow_error как его...

Unhandled exception - C++
Вообщем вот рабочая программа, но в конце вываливается с ошибкой: Unhandled exception at ... Access violation writing location... Но...

Обработка exception - C++
Возникла такая проблема и не могу понять как ее реализовать... cin &gt;&gt; totalitems; // вот здесь в случае ввода не цифр, выбить ошибку и...

Unhandled exception - C++
При запуске программы появляется окно с текстом &quot;Unhandled exception at 0x00CD488F in my project.exe: 0xC0000005: Access violation reading...

exception EEFFACE - C++
Есть такая проблема: Работаю в Borland C++ Builder 6 В коде поочерёдно создаются и заполняются 2 массива по 198млн int значений для...

Не ловит exception - C++
Почему не ловится range error? #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include &lt;string&gt; using namespace std; int main() ...

exception и cerr - C++
Страуструп пишет &quot;... Если мы не перехватим исключение, связанное с выходом за границу допустимого диапазона индексов, или иные...

Exception Handling Classes - C++
Задача: Write a program that prompts the user to enter a person’s date of birth in numeric form such as 8-27-1980. The program then...

Обработка исключений (Exception) - C++
Всем приветю У меня возникла такая ситуация: в main создаю локальную переменную типа long, затем прошу пользователя задать эту переменную и...

If a function throws an exception? - C++
If a function throws an exception _____ . Question options: A) it must be caught in that function. B) it may be caught in that...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
852 / 750 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.11.2013, 23:47     C++ exception #2
Цитата Сообщение от Perzh Посмотреть сообщение
det == 0
double так с нулем не сравнивают

Добавлено через 1 минуту
C++
1
if(det > -0.0000001 && det < 0.0000001)
Perzh
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 25
24.11.2013, 23:58  [ТС]     C++ exception #3
Спасибо за совет, тока дело не в этом
MrCold
852 / 750 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
25.11.2013, 00:11     C++ exception #4
У вас catch исключение принимает по ссылке .
Значит new уберите :
throw new exception("Определитель равен нулю!");
Perzh
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 25
25.11.2013, 00:15  [ТС]     C++ exception #5
Спасибо большое)
hoob
19 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
25.11.2013, 02:58     C++ exception #6
Цитата Сообщение от MrCold Посмотреть сообщение
double так с нулем не сравнивают

Добавлено через 1 минуту
C++
1
if(det > -0.0000001 && det < 0.0000001)
Что-то мне всегда казалось, что double так с нулём сравнивают:
C++
1
2
#include <float.h>
if( det == DBL_EPSILON)
Yandex
Объявления
25.11.2013, 02:58     C++ exception
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru