异常需要处理。处理的方式有
- 在可能出现异常的地方,用try catch语句处理。一般可以用打印,出异常的位置,信息等,便于排查。
- 抛出去,一直抛,直到处理为止。
类似于qt里的事件,比如鼠标点击事件,造一个对象跑出去,在外面判断是不是左键或者右键,可以一直向外抛。
标准库里有非常多的异常种类供你使用。
例子
The standard exceptions can be constructed from a std::string:
#include <stdexcept>
char const * configfile = "hardcode.cfg";
std::string const anotherfile = get_file();
throw std::runtime_error(std::string("Failed: ") + configfile);
throw std::runtime_error("Error: " + anotherfile);
Note that the base class std::exception can not be constructed thus; you have to use one of the concrete, derived classes.