std::exception 的继承体系?如何自定义异常类?