5.1 简单语句
5.2语句作用域
5.3 条件语句
5.4迭代语句
5.5跳转语句
5.6try语句和异常处理
- 异常:存在于运行时的反常行为,这些行为超出了函数正常功能的范围
- throw表达式:抛出异常
- try语句块:处理异常
- 一套异常类
5.6.1 throw表达式
throw runtime_error("ss");
runtime_error
是标准库异常类型中的一种,定义在stdexcept头文件中.我们必须初始化runtime_error的对象,方式是提供一个string对象或者一个C风格的字符串.
5.6.2 try语句块
5.6.3 标准异常
定义在4个头文件中:
exception
头文件定义了最通用的异常类exception.它值报告异常的发生,不提供任何额外信息stdexcept
头文件定义几种常用的异常类new
头文件定义了bad_alloc异常类型type_info
头文件定义了bad_cast异常类型
- 标准库异常类只定义了几种运算,包括创建或者拷贝异常类型的对象,以及为异常类型的对象赋值
- 我们只能以默认初始化的方式初始化
exception
,bab_alloc
和bad_cast
对象,不允许给这些对象提供任何初始值.而其他类型相反,不行默认初始化,必须以string对象或者c风格字符串进行初始化 - 异常类型
只
定义了一个名为what
的成员函数,该函数没有任何参数,返回值是一个c风格的字符串的const char *.提供关于异常的一些文本信息 - what函数的返回,如果异常类型有一个字符串初始化,则what返回该字符串,对于无初始值的异常类型来说,what返回的内容有编译器决定