C++ 如果fstream.open()在子函数中失败,如何退出程序
我尝试在类中的函数中打开文件:C++ 如果fstream.open()在子函数中失败,如何退出程序,c++,file-io,fstream,quit,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; e
void openFile(){
inputFile.open(inputFilename.c_str());
if (inputFile.is_open()){
inputFile.read(buffer, skipAtBegin);
} else {
cerr << "Cannot open file: " << inputFilename << endl;
exitNow();
}
}
void openFile(){
open(inputFilename.c_str());
if(inputFile.is_open()){
读取(缓冲区,skipAtBegin);
}否则{
cerr通常有三种选择:
使用退出。退出程序
使用异常。在别处抛出异常、句柄
设置全局状态变量。设置全局状态,并让其他
函数检查状态并进行处理
希望有人能想出其他的选择。是的。正是为了这个目的。实际上,是的。出口(int)命令。但我建议使用异常,因为它们给了您处理此类错误的机会。我不建议退出openFile
函数。您应该返回某种类型的值,并在调用openFile
的地方处理该值。或者以相同的方式使用异常。返回到main
很乏味,但可以允许正确处置您可能正在使用的任何关键资源。退出
在大多数情况下就足够了。在程序堆栈顶部附近抛出捕获的异常。显示适当的消息并从main返回。首先感谢您的帮助35;包含并退出(1);工作正常,稍后我将添加例外。