Как выйти из программы, если fstream.open () не удалось в подфункции

Я пытаюсь открыть файл в функции в классе:

void openFile(){

inputFile.open(inputFilename.c_str());

if (inputFile.is_open()){
inputFile.read(buffer, skipAtBegin);
} else {
cerr << "Cannot open file: " << inputFilename << endl;
exitNow();
}
}

В main () я бы просто вернул 1, но как я могу сделать это в sub-sub-function-class лучшим / простым способом ??

Вернуть 1 все шаги до основного?

Используете исключения?

любой exit() команды?

0

Решение

Обычно есть три варианта:

  1. Используйте выход. Выйти из программы.
  2. Используйте исключение. Бросай исключения, обрабатывай в другом месте.
  3. Установить глобальную переменную состояния. Установите глобальный статус, и пусть другие
    функции проверяют статус и обрабатывают его.

Надеюсь, кто-нибудь придумает другие варианты.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]