Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Loctary
2 / 2 / 1
Регистрация: 02.06.2013
Сообщений: 60
1

Try catch

24.04.2016, 14:45. Просмотров 348. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
    try
    {
        throw pDoc->C[0];
    }
    catch (City)
    {
        return;
    }
есть динамический City* C, ему присвается значение другого такого же указателя и если первого элемента не существует, нужно чтобы работало try..catch и возвращалось значение, но если в C нет элементов, выбивает ошибку. что я делаю не так?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2016, 14:45
Ответы с готовыми решениями:

Try-catch
Добрый вечер, #include <iostream> using namespace std; void F1(int); void F2(int, int);...

TRY/CATCH
Здравствуйте! У меня есть: MASS; для простоты пояснения, x=rand();y=rand(),znacheniye=rand();...

Try и catch
Пытался сделать простую структуру,чтобы в блоке try задавалось значение переменной x, и если это...

try-catch
Доброго времени суток, начал изучать исключения, и вот есть такой код: // new.cpp : Defines the...

try . catch
можно ли провести данную операцию для функции erase у вектора??? пытался, что-то не получилось:...

2
zss
Модератор
Эксперт С++
8384 / 7427 / 4606
Регистрация: 18.12.2011
Сообщений: 19,681
Завершенные тесты: 1
24.04.2016, 14:59 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
 try
    {
        if(pDoc->C==NULL) // проверка, что нет элементов
            throw(City("Moscow") );
        else
           throw pDoc->C[0];
    }
    catch (City cc)
    {
         cout<<cc;
        return;
    }
0
Renji
2240 / 1653 / 501
Регистрация: 05.06.2014
Сообщений: 4,776
24.04.2016, 15:01 3
Цитата Сообщение от Loctary Посмотреть сообщение
есть динамический City* C, ему присвается значение другого такого же указателя и если первого элемента не существует, нужно чтобы работало try..catch и возвращалось значение, но если в C нет элементов, выбивает ошибку. что я делаю не так?
UB вы делаете. Конкретно в вашем случае скорее всего произошла попытка чтения R/O памяти (кто сказал что несуществующий элемент можно читать?) и полетело асинхронное исключение, которое стандартными средствами не ловится. Не стандартными возможно и ловится, но конкретный способ надо в документации к компилятору и/или ОС искать.

Ну а по нормальному нужно хранить размер массива рядом с массивом или использовать std::vector который тоже самое и делает.
0
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 15:01

Try catch
Доброго времени суток нехочу наследовать диалог,тем более что набросал его за минуту в...

try catch
Здравствуйте. В c++ новичёк, с try catch никогда толком не работал, а тут пришлось. Нужно сделать...

try-catch
Читаю книгу Страуструпа. Он пишет (стр 232), что можно не передавать обработчику исключений какое...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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