菜鸟关于C++异常的一些思考

菜鸟关于C++异常的一些思考

  最近领导要在C++项目中用异常,就学习了相关的一些知识,有一些体会,希望能得到大家斧正。

1.什么是异常

  C++之父Bjarne Stroustrup在《The C++ Programming Language》中讲到:一个库的作者可以检测出发生了运行时错误,但一般不知道怎样去处理它们(因为和用户具体的应用有关);另一方面,库的用户知道怎样处理这些错误,但却无法检查它们何时发生(如果能检测,就可以再用户的代码里处理了,不用留给库去发现).Bjarne Stroustrup说:提供异常基本目的就是为了处理上面的问题。基本思想是:让一个函数在发现了自己无法处理的错误时抛出(throw)一个异常,然后它的(直接或者间接)调用者能够处理这个问题。

  《C++Primer》第5版中关于异常的描述是“”

时间: 2024-12-15 07:19:08

菜鸟关于C++异常的一些思考的相关文章

程序设计中关于异常机制的思考

程序的运行过程从来都不是一帆风顺的,运行期间会遇到各式各样的突发状况,如文件打不开.内存分配错误.数据库连不上等等.作为一个进阶过程中的编程人员,思考和处理例外状况极为重要.因为它在很大程度保证了程序的连贯性和稳定性,并为问题的发现提供支撑. 下面就本人在编程过程中有关异常的编程范式做一下总结. 一.面向过程形式 面向过程式的范式将异常的传递都交于函数的参数与返回值来处理,如: bool func ( const InType& input, OutType& output, string

由DBCursor的“can't switch cursor access methods”异常引发的思考

先谈谈我是怎么用的: DBCollection dbcollection = XXXXXXXXXX(); //连接mongo DBCursor dbCursor = mergeVideoDB.find(XXXX); //根据name查出若干个 if (dbCursor.length() == 1) { return videoinfos; } while(dbcursor.hasNext()){ // 这一步产生错误,报出DBCursor的"can't switch cursor access

【转】对测试用例中异常流的思考

设计用例最开始遇到的异常情况,就是前置条件引起的异常流.例如,不具备订购条件的用户,不能订购该服务,这种条件排列组合就会产生很多种异常场景. 接下来遇到的异常场景就是,在操作进行中遇到的. [plain] view plaincopyprint? 1)比如说操作进行时,断电.断网.死机等原因导致的信息丢失的异常: 2)订购过程中,用户或产品的状态变化引起的异常.例如商品下架或价格调整的处理:或是用户在下单后付款前,被监管等. 3)操作中应该选择的选项没有选择时的场景,例如购买产品服务时,未选择同

关于异常的一点思考

一.异常的(检测)触发:编译器插入检查指令(对语言规定的检查项): 二.异常的基本处理机制:类似中断,生成异常场景信息,然后执行转发操作. 三.异常处理的上下文:由线程货其他结构保存的类似函数调用栈的上下文结构体. 异常事件的触发.派发.处理及上下文机制. 由语言的异常规范规定,由编译器和运行时提供支持的特殊事件处理机制. 原文地址:https://www.cnblogs.com/feng9exe/p/12559296.html

编程语言的设计逻辑

计算机技术发展到现在,程序设计语言早已不可胜数,年事已高着如汇编.BASIC.C.Perl,正值壮年如Java.PHP.C++.Python,还有近来新生者如Go.Swift.但是编程语言归根结底也是一种,无论其怎么变化,都不可能跳出语言的逻辑--以辞达意. 编程语言与自然语言如英语.法语.西班牙语不同之处在于,它是说给计算机听的,而自然语言是说给人听的.但机器的理解能力自然无法与人类相匹敌.所以,编程语言与自然语言相比其实是非常简单明了的,它基于分步骤.流式的描述,以一种精确.机械方式将编程者

学会思考--菜鸟程序员晋升大神之路

"菜鸟"和"大神" 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想想这几个问题.现在社会上有很多程序员,那您是否可想过程序 员为什么会有不同的水平?你又是哪一类的程序员?"菜鸟"程序员和"大神"程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里? 上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案.确切的说程序员分为"菜鸟"

6 Java Exceptions that Haunts a Newbie Java Developer(Java菜鸟6种常见的异常)

Every now and then, I come across various newbies Java developers who are found to get stuck with some of the following common exceptions where I need to explain them all over again. I do believe that this is same with many other senior Java develope

[转]菜鸟程序员之Asp.net MVC Session过期异常的处理

本文转自:http://www.cnblogs.com/JustRun1983/p/3377652.html 小赵是刚毕业的计算机专业方面的大学生,4年的大学时间里面,他读过了很多编程方面的数据,也动手也了很多代码.现在毕业了,他如愿的加入了T公司,开始了自己的程序员生涯.他信心满满,相信自己4年的学习到的东西,一定能够在工作派上用场,帮助自己很快的胜任现在的工作. 阅读目录: 一.Session引发的异常 二.使用MVC中的Filter来对Session进行验证 三.对于Ajax请求的中,Se

MVC系列——一个异常消息传递引发的思考

前言:最近在某个项目里面遇到一个有点纠结的小问题,经过半天时间的思索和尝试,问题得到解决.在此记录一下解决的过程,以及解决问题的过程中对.net里面MVC异常处理的思考.都是些老生常谈的问题,不多说,直接上“主菜”. 本文原创地址:http://www.cnblogs.com/landeanfen/p/8135844.html 一.问题重现 项目是一个传统.net framework的MVC项目,为了简便,项目里面定义了一个自定义异常类用于向客户端传递错误消息,客户端接收到异常的消息时在浏览器里