概述
语句大部分都了解,所以摘录的点不多
switch 的case标签必须是 “整型常量表达式”
2个case标签不能相同
几个标签执行相同操作:
case 1:
case 2:
case 3:
fun();
break;
或者
case 1:case 2:case 3:fun();break;
不允许出现这种情况
case 1:
定义并“初始化”某变量
break
case 2;
使用case1中的变量
但允许这种情况
case 1:
定义某变量,没初始化
break
case 2;
使用case1中的变量
因为case1和case2实际上在一个{}块内
do
{}
while(int i = 0) 是错的,不可以在do while的条件中定义变量,反过来可以
goto 如果跳过了一个定义加初始化, 并且还使用到,那么是错的
如果定义并初始化某变量,并向上goto回到定义之前,则该变量会被销毁并重新创建
try语句和异常处理
throw类似于return,是发生错误时, throw抛出1个异常对象
例如
if(I am boy)
throw runtime_error("I like you")
runtime_error是标准库异常类的一种, 这里会直接退出当前函数。
try
{
要做的操作
}catch(异常类 对象)
{
对象.what()就是建立 runtime_error时的字符串
}
即尝试做某件事, 如果这件事出bug了,用catch捕捉抛出的异常类,通过判断其对象err.what(),来分别处理
多层try:
发送异常时,从内层向外层找对应的catch, 如果都没有, 程序进入terminate标准函数,并退出当前程序
exception 常见问题类
运行错误:
runtime_error 运行时出错类
range_error 结果超出定义范围
overflow_error 计算上溢
underflow_error 计算下溢
逻辑错误:
logic_error 程序逻辑错误
domain_error 值不存在
invalid_argument 无效参数
length_error 长度错误
out_of_rang 值错误e
除了 exception bad_alloc和bad_case是默认初始化外, 其他异常都用字符串来初始化, 并只有一个名为what的成员函数, 类型是const char*
最后
以上就是成就歌曲为你收集整理的《C++ Primer》读书笔记第五章——语句的全部内容,希望文章能够帮你解决《C++ Primer》读书笔记第五章——语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复