标准程序库所发生的异常
来源:互联网 发布:知乎 swisse 编辑:程序博客网 时间:2024/05/01 08:44
c++标准程序库异常派生自logic_error
1.invalid_argument 无效的参数
2.length_error 超越了最大长度
3.out_of_range 参数不再指定范围内
4.domain_error
标准程序库的I/O异常 ios_base::failure
派生自rutime_error异常
1.range_error 内部计算发生区间错误
2.overflow_error 算术运算发生上溢位
3.underflow_error 算术运算发生下溢位
异常类别的头文件
基类 exception 和 bad_exception定义于<exception>
bad_alloc定义于<new>
bad_cast 和 bad_typeid 定义于<typeinfo>
ios_base::failure定义于<ios>
其他异常都定义于<stdexcept>
打印异常
try{
}
catch(const std::exception& err){
std:cerr << err.what() << std::endl;
}
抛出标准异常
std::string s;
throw std::out_of_range(s);
自己定义异常
namespace std{
calss MyProblem : public std::exception{
public:
MyProblem() {...}
virtual const char* what() const throw() {...}
};
}
void f(){
throw MyProblem(...);
}
实现标准库异常
namespace std{
class MyRangeProblem : public std::out_of_range{
public:
MyRangeProblem(const std:string& whatstring)
:out_of_range(whatstring) {}
};
}
- 标准程序库所发生的异常
- 标准程序库中带异常处理的栈实现
- 对C++中标准程序库异常处理的认识
- 英语版的标准程序库
- 标准程序库异常处理----计算三角形面积
- c++标准程序库的学习
- 所发生的发生的
- c++标准程序库 缺少的头文件
- 发的所发生的发生
- 非的所发生的
- 发的所发生的
- 水电费的所发生的
- 所发生的发大水发松岛枫
- C++标准程序库
- C++标准程序库(一)
- C++ 标准程序库(二)
- 《C++标准程序库》读书笔记
- 《C++标准程序库》读后感
- windows网络编程笔记
- MySQL获取流水号存储过程
- 基于Visual Studio2010与C#4.0新功能和展望--dynamic:用DynamicObject创建包装器
- hdu 2187
- 双链表排序
- 标准程序库所发生的异常
- hdu 2153 仙人球的残影
- 使用LINQ检索重复值
- 二叉树遍历
- 队列的C语言实现
- 分析Android 根文件系统启动过程(init守护进程分析)
- 欧洲足球逐渐失去冷门的魅力
- STL标准模板库
- 精确使用编程概念