| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Экстренный выход из программы или процедуры! |
| Автор: Bart_Simpson 5.4.2007, 17:04 | ||
короче вот такой вот вопрос как мне выйти быстренько из проги или процедцры обработки если файл не налйден
break не подходит ашипки выдаёт! |
| Автор: zkv 5.4.2007, 17:11 |
| используйте исключения, либо return, либо exit() смотря откуда и куда собираетесь |
| Автор: Daevaorn 5.4.2007, 17:11 | ||
На выбор:
первая из функции, вторая из программы и функции |
| Автор: Xenon 5.4.2007, 17:25 | ||
Я бы советовал организовать концепцию исключений, то есть main код заключить в try-блок, а здесь кидать исключение, типа
В Catch , блоке можно вывести сообщение об ошибке. |
| Автор: vinter 5.4.2007, 17:48 | ||
тада лучше abort() |
| Автор: Xenon 5.4.2007, 18:31 |
| terminate() |
| Автор: Promitheus 6.4.2007, 09:29 |
| Вообще говорят что catch и try это прошлый век и ими уже не пользуются для перехвата исключений. Позже приведу автора книги и название, если потребуется. ИМХО: не найденный файл это не такое исключение чтобы его через catch try отлавливать. Я понимаю не найдена dll, версия не та компонента. Хотя на файле конечно проще тренироваться и отработать этот метод исключений. |
| Автор: ama_kid 6.4.2007, 09:47 |
Break - это выход из цикла, а не из процедуры/функции/программы... |
| Автор: Vyacheslav 6.4.2007, 10:55 | ||
Приведите, пожалуйста. Люблю на досуге почитать фэнтези. Такая игра разума просто завораживает |
| Автор: Partizan 6.4.2007, 11:05 |
| тот самый случай, когда "аффтар жжот"? ) |
| Автор: W4FhLF 6.4.2007, 12:47 |
Наряду с SEH(структурная обработка исключения, все эти конструкции используют её) сейчас существует VEH(векторная обработка исключений). Может быть имелось ввиду именно это. |
| Автор: JAnty 6.4.2007, 13:03 |
ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE , 0); // кажысь |
| Автор: Earnest 6.4.2007, 13:15 |
| Эти вещи существуют параллельно, и ничем не лучше языковых исключений (try-catch). Более того, некоторые компиляторы могут поймать структурные исключения в блоке catch (...), что весьма удобно для единой обработки. |
| Автор: W4FhLF 6.4.2007, 14:39 | ||
Компилятор встречая все эти языковые конструкции устанавливает SEH-фреймы. Это системный механизм. |
| Автор: Xenon 6.4.2007, 14:41 |
| Значии C# - прошлый век |
| Автор: W4FhLF 6.4.2007, 14:57 |
Откуда ты знаешь? VEH может использоваться вместе с SEH. Ни то, ни другое не плохо, просто, как и везде, есть свои плюсы, преимущества и недостатки. Напоминаю, что VEH появился начиная с XP, поэтому прежде чем идти курить доки подумайте подойдёт ли Вам это |
| Автор: SparF 6.4.2007, 16:57 |
| Promitheus, Название книги и автора в студию, пожалуйста)) оч. посмотреть хочется) |