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

Исключения - C++

Восстановить пароль Регистрация
 
[NovicheK]
19 / 19 / 2
Регистрация: 09.03.2012
Сообщений: 91
01.11.2012, 21:56     Исключения #1
можно ли возвращаться к выполнению кода после обработки исключения, например
C++
1
2
3
4
5
6
7
try{
func1();//обе ф-и могут вызывать исключение exception
//хочу возвращаться сюда и продолжать выполнение кода, если func1 вызовет исключение
func2();
}catch(exception &e){
 что-то сделал
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 21:56     Исключения
Посмотрите здесь:

исключения C++
исключения C++
Какое исключение возникает при невозможности открыть файл? C++
Исключения C++
Исключения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.11.2012, 22:10     Исключения #2
Нет. Придётся вам писать так, раз уж исключение в func1() вы игнорите:
C++
1
2
3
4
5
6
7
8
9
10
11
12
try {
    func1();
}
catch(exception &e) {
 
}
try {
    func2();
}
catch(exception &e) {
 
}
И даже goto вас не спасёт.

Лучше перепишите func1() так, чтобы этого не надо было делать. Разделите исключения, встройте обработку и т. д.
[NovicheK]
19 / 19 / 2
Регистрация: 09.03.2012
Сообщений: 91
01.11.2012, 22:18  [ТС]     Исключения #3
Разделить исключения?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.11.2012, 22:38     Исключения #4
Ну я ж так понял, что вы хотите отдельную логику для исключений, выкидываемых func1(), и исключений, выкидываемых func2(). Пусть они бросают исключения разного типа.
Yandex
Объявления
01.11.2012, 22:38     Исключения
Ответ Создать тему
Опции темы

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