C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.

Slides:



Advertisements
Similar presentations
第 2 章 初探 C++.
Advertisements

程序设计实习 3月份练习解答
第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
第八章 类和对象.
C++程序设计 王希 图书馆三楼办公室.
Using C++ The Weird Way Something about c++11 & OOP tricks
走向C++之路 WindyWinter WindyWinter感谢诸位前来捧场。
Signutil.
資料大樓 --談指標與陣列 綠園.
函數(一) 自訂函數、遞迴函數 綠園.
教材 《C++程序设计》.谭浩强. 清华大学出版社 王雪晶
第一章 程序的基本结构. 第一章 程序的基本结构 教材及授课结构 本章目标 基本内容 扩展阅读 上机指导 应用举例 习题.
西安交通大学 计算机教学实验中心 大学C++程序设计教程 西安交通大学 计算机教学实验中心
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Object-Oriented Programming in C++ 第一章 C++的初步知识
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
第12讲 多继承与虚基类 多继承 虚基类.
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
C++程序设计 string(字符串类) vector(容器类).
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
谭浩强 编著 中国高等院校计算机基础教育课程体系规划教材 C++程序设计.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
第七章 操作符重载 胡昊 南京大学计算机系软件所.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++大学基础教程 第11章 多态性 北京科技大学 信息基础科学系 2019/4/8 北京科技大学.
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
潘爱民 C++ Overview 潘爱民
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
第十二章 命名空间和异常处理 丘志杰 电子科技大学 计算机学院 软件学院.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
物件導向程式設計 CH2.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++程式設計入門 變數與運算子 作者:黃建庭.
C++大学基础教程 第10章 运算符重载 北京科技大学 2019/5/7 北京科技大学.
第二章 Java语法基础.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C++语言程序设计 第十章 C++标准模板库 成都信息工程学院计算机系.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++面向对象程序设计 谭浩强编著 授课教师:姬广永 学习网站:
第6章 异常处理 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
變數與資料型態  綠園.
資料!你家住哪裏? --談指標 綠園.
第二章 Java基础语法 北京传智播客教育
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
資料結構與C++程式設計進階 C++與資料結構 講師:林業峻 CSIE, NTU 7/ 5, 2010.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计

“ 目录 C++语言程序设计 基本知识 编程技能 刨根问底 用户自定义类的对象传递异常 异常和异常处理 C++异常处理机制 自定义exception类的派生类对象传递异常 异常和异常处理 C++异常处理机制 用类对象传递异常 异常处理中的退栈和对象析构 C++语言程序设计

基本知识 a C++语言程序设计

11.3 用类对象传递异常 throw语句所传递的异常,可以是各种类型的:整型、实型、字符型、指针,等等。也可以用类对象来传递异常。 用来传递异常的类称为异常类。异常类可以是用户自定义的,也可以是系统提供的exception类。 C++语言程序设计

11.3 用类对象传递异常 C++提供了一个专门用于传递异常的类:exception类。可以通过exception类的对象来传递异常。 exception类的定义可以表述如下: class exception { public: exception(); //默认构造函数 exception(char *); //字符串作参数的构造函数 exception(const exception&); exception& operator= (const exception&); virtual ~exception(); //虚析构函数 virtual char * what() const; //what()虚函数 private: char * m_what; }; C++语言程序设计

11.3 用类对象传递异常 其中和传递异常最直接有关的函数有两个: 带参数的构造函数。参数是字符串,一般就是检测到异常后要显示的异常信息。 what()函数。返回值就是构造exception类对象时所输入的字符串。可以直接用插入运算符“<<”在显示器上显示。 只要显示关于异常的信息,则可以直接使用exception类。如果除了错误信息外,还需要显示其他信息,或者作其他的操作,则可以定义一个exception类的派生类,在派生类中可以定义虚函数what的重载函数。 C++语言程序设计

C++语言程序设计 例:不但能检测到0作为除数的异常,发布相应的信息,而且程序还要继续运行,直到结束程序运行。 void main() { double x,y,z; cout<<"输入两个实数 x 和 y :"; while (cin >> x >> y) { try { z = divide(x,y); } catch (runtime_error err) //exception handler { cout << err.what() << "\n"; cout << "输入一对新的实数: "; continue; } // end of handler cout << "x 除以 y 等于 " << z << "\n"; cout << "输入下一组数 <q 表示结束>: "; cout << "程序结束,再见!\n"; 用C++标准异常类,处理除法溢出 #include <iostream> #include <exception> using namespace std;  double divide(double a, double b) { if (b == 0) { throw runtime_error("输入错误:除数不可以等于0 !"); } return a/b; C++语言程序设计