C++异常
清风弥天
立志成为超级大牛的男人!
展开
-
C++异常学习(一)C++11新特性之前的异常,C++11新特性会在此基础上添加一些新特性
C++异常1 异常基本概念Bjarne Stroustrup说:提供异常的基本目的就是为了处理上面的问题。基本思想是:让一个函数在发现了自己无法处理的错误时抛出(throw)一个异常,然后它的(直接或者间接)调用者能够处理这个问题。也就是《C++ primer》中说的:将问题检测和问题处理相分离。一种思想:在所有支持异常处理的编程语言中(例如java),要认识到的一个思想:在异常处理过...原创 2019-09-03 21:32:30 · 230 阅读 · 0 评论 -
C++异常学习(二)C++11新特性之前的异常总结
1. C的异常处理。 在C语言的世界中,对错误的处理总是围绕着两种方法:一是使用整型的返回值标识错误;二是使用errno宏(可以简单的理解为一个全局整型变量)去记录错误。当然C++中仍然是可以用这两种方法的。 这两种方法最大的缺陷就是会出现不一致问题。例如有些函数返回1表示成功,返回0表示出错;而有些函数返回0表示成功,返回非0表示出错。 还...原创 2019-09-03 21:36:17 · 276 阅读 · 0 评论 -
C++异常学习(二)C++11新特性noexcept学习
1.noexcept()表示函数不会抛出异常的动态异常声明,是C++11中的新特性。2.C++11之前的异常抛出采用throw(int, double)或者throw(),其中throw(int, double)已被弃用,throw()由noexcept()替代。3.C++11的noexcept和C++98的throw()使用方法分别如下: C++98使用方法:templa...原创 2019-09-03 22:25:16 · 2013 阅读 · 0 评论