如果fstream.open()在子功能中失败,如何退出程序

时间:2013-07-16 12:49:14

标签: c++ file-io fstream quit

我尝试在类中的函数中打开一个文件:

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,但是我怎样才能在子子函数类中做到最好/最简单的方法?

将所有步骤返回1到主?

使用ecxeptions?

任何exit()命令?

1 个答案:

答案 0 :(得分:1)

通常有三个选项:

  1. 使用退出。退出程序。
  2. 使用例外。抛出异常,处理别处。
  3. 设置全局状态变量。设置全局状态,并让其他 功能检查状态并处理它。
  4. 希望有人能提出其他选择。