麻烦给看看这段程序的错误~~
- C/C++ code
#include <iostream>#include <stdio.h>#include <exception>using namespace std;int main(){ char str[20]; gets(str); if (*str > '0' && *str < '9') { cout << str << endl; } else { try { throw runtime_error("首字母不是数字,重新输入") << endl; } catch (runtime_error &err) { cout << err.what(); } } return 0;}
抛出异常部分有错
[解决办法]
throw runtime_error("首字母不是数字,重新输入") << endl;
将上面这一句修改为:
throw runtime_error("首字母不是数字,重新输入");
runtime_error这个类,并没有重载输出操作符
[解决办法]
直接丢掉异常后面的输出endl就可以了