软考程序员知识点C++语言程序设计之异常处理

程序员 责任编辑:小狐狸 2016-10-10

添加老师微信

备考咨询

加我微信

摘要:下面希赛小编为大家整理的软考程序员知识点C++语言程序设计之异常处理,希望能帮助学友们。

       

       >>>>>>立即点击了解程序员考试培训视频

       >>>>>>立即点击了解程序员考试教材

       >>>>>>立即点击了解程序员在线模拟考试


       下面希赛小编为大家整理的软考程序员知识点C++语言程序设计之异常处理,希望能帮助学友们。具体内容如下:


       异常处理

       异常处理,英文名为exceptional handling,是代替日渐衰落的error code方法的新法,提供error code所未能具体的优势。异常处理分离了接收和处理错误代码。这个功能理清了编程者的思绪,也帮助代码增强了可读性,方便了维护者的阅读和理解。异常处理(又称为错误处理)功能提供了处理程序运行时出现的任何意外或异常情况的方法。异常处理使用try、catch和finally关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。

       异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。

       许多常见的程序设计语言,包括Actionscript,Ada,BlitzMax,C++,C#,D,ECMAScript,Eiffel,Java,ML,Object Pascal(如Delphi,Free Pascal等),Objective-C,Ocaml,PHP(version 5),PL/1,Prolog,Python,REALbasic,Ruby,Visual Prolog以及大多数.NET程序设计语言,内建的异常机制都是沿着函数调用栈的函数调用逆向搜索,直到遇到异常处理代码为止。一般在这个异常处理代码的搜索过程中逐级完成栈卷回(stack unwinding)。但Common Lisp是个例外,它不采取栈卷回,因此允许异常处理完后在抛出异常的代码处原地恢复执行。而Visual Basic(尤其是在其早于.net的版本,例如6.0中)走得更远:on error语句可轻易指定发生异常后是重试(resume)还是跳过(resume next)还是执行程序员定义的错误处理程序(goto***)。

       多数语言的异常机制的语法是类似的:用throw或raise抛出一个异常对象(Java或C++等)或一个特殊可扩展的枚举类型的值(如Ada语言);异常处理代码的作用范围用标记子句(try或begin开始的语言作用域)标示其起始,以第一个异常处理子句(catch,except,resuce等)标示其结束;可连续出现若干个异常处理子句,每个处理特定类型的异常。某些语言允许else子句,用于无异常出现的情况。更多见的是finally,ensure子句,无论是否出现异常它都将执行,用于释放异常处理所需的一些资源。

       C++异常处理是资源获取即初始化(Resource-Acquisition-Is-Initialization)的基础。

       C语言一般认为是不支持异常处理的。Perl语言可选择支持结构化异常处理(structured exception handling)。

       Python语言对异常处理机制是非常普遍深入的,所以想写出不含try,except的程序非常困难。


       返回目录:软考程序员知识点C++语言程序设计汇总


    希赛软考网,拥有十四年软考培训经验,一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!