terminatehandler.cpp
来自「C++高级编程这本书所附的源代码」· C++ 代码 · 共 58 行
CPP
58 行
#include <fstream>#include <iostream>#include <vector>#include <string>#include <stdexcept>#include <exception>using namespace std;void readIntegerFile(const string& fileName, vector<int>& dest){ ifstream istr; int temp; istr.open(fileName.c_str()); if (istr.fail()) { // We failed to open the file: throw an exception throw invalid_argument(""); } // Read the integers one-by-one and add them to the vector while (istr >> temp) { dest.push_back(temp); } if (istr.eof()) { // We reached the end-of-file. istr.close(); } else { // Some other error. Throw an exception istr.close(); throw runtime_error(""); }}void myTerminate(){ cout << "Uncaught exception!\n"; exit(1);}int main(int argc, char** argv){ vector<int> myInts; const string fileName = "IntegerFile.txt"; set_terminate(myTerminate); readIntegerFile(fileName, myInts); for (size_t i = 0; i < myInts.size(); i++) { cerr << myInts[i] << " "; } cout << endl; return (0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?