unexpectedexceptions.cpp
来自「C++高级编程这本书所附的源代码」· C++ 代码 · 共 47 行
CPP
47 行
#include <fstream>#include <iostream>#include <vector>#include <string>#include <stdexcept>using namespace std;void readIntegerFile(const string& fileName, vector<int>& dest) throw (invalid_argument, runtime_error){ throw (5);}void myUnexpected(){ cout << "Unexpected exception!\n"; throw runtime_error("");}int main(int argc, char** argv){ vector<int> myInts; const string fileName = "IntegerFile.txt"; unexpected_handler old_handler = set_unexpected(myUnexpected); try { readIntegerFile(fileName, myInts); } catch (const invalid_argument& e) { cerr << "Unable to open file " << fileName << endl; exit (1); } catch (const runtime_error& e) { cerr << "Error reading file " << fileName << endl; exit (1); } catch (int x) { cout << "Caught int\n"; } set_unexpected(old_handler); for (size_t i = 0; i < myInts.size(); i++) { cout << myInts[i] << " "; } cout << endl; return (0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?