c++异常处理--创建自己的异常处理类
2024-08-28 20:45:13
复习了一下c++中的异常处理!
继承exception类
class myException : public std::exception
{
public:
explicit myException(std::string meg) : message(meg){}
//exception类中有一个what()虚函数,重新实现它
virtual const char* what(){return message.c_str();}
//不要少了这一行代码
virtual ~myException() throw(){}
private:
std::string message;
}
--------------------------------------------------------------------
1.function() throw(){}
/**函数后面的throw()表示此函数不会发出异常,c++11已将其摒弃,而使用noexcept关键字代替 function() noexcept{}; */
2.function() throw(bad_thing){}
/**函数后面的throw(bad_thing)表示此函数会发出bad_thing类型异常*/
3.function() throw(...){}
/**函数后面的throw(...)表示此函数会发出任意类型的异常*/
4.据<<C++ primer plus>>书中表示,noexcept关键字也可以用作运算符,判断操作数是否可能引发异常,如果操作数可能引发异常,则noexcept返回false,否则返回true。
int function_1(int, int);
int function_2(int, int) noexcept;
noexcept(function_1) --> return false;
noexcept(function_2) --> return true;
最新文章
- iOS 之UITextFiled/UITextView小结
- invalidate()和postInvalidate() 的区别及使用
- 黑马程序员-循环引用问题和weak
- jQuery动态产生的铵钮怎样实现事件处理
- Hadoop伪分布式搭建(一)
- 关于sql where id in 转换成数据类型 int 时失败(转)
- POJ 2039
- 防DDOS攻击
- HDU 1075-What Are You Talking About(Trie)
- 网站建设之Django搭建与配置
- 新博客在SEO方面需要注意哪几点?
- OpenStack Ocata 超详细搭建文档
- 面向对象(this的问题一)
- BZOJ_2058_[Usaco2010 Nov]Cow Photographs_逆序对
- .net Lambda表达式与Linq (LINQ TO object)
- Nginx 优先选择连接最少的上游服务器
- .net core 2.0 数据访问-迁移
- setAttribute和setParameter方法的区别
- 把List<;T>;转换为DataTable
- BZOJ1179或洛谷3672 [APIO2009]抢掠计划