C++ primer(第五章)学习笔记

第五章
1.空语句null statement:只有一个分号
条件语句:if语句,switch语句,for语句,范围for语句,while语句,dowhile语句

unsighed aCnt = 0, eCnt = 0, iCnt = 0;
char ch;
while (cin>>ch)
{
	switch(ch){
		case 'a':      //case标签必须是整型常量表达式
			++aCnt; 
			break;     //漏写break容易引发缺陷
		case 'e':
			++eCnt;
			break;
		case 'i':
			++iCnt;
			break; 
		default++otherCnt;
			break;
		}
}

范围for语句

for(declaration:expression)
	statement

跳转语句:break语句,continue语句
break语句负责终止离他最近的while,dowhile,for或switch语句,并从这些语句之后第一条语句开始继续执行。continue语句终止最近的循环中的当前迭代并立即开始下一次的迭代,只能出现在for、while和dowhile循环的内部。
try语句块和异常处理
异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。典型的异常包括失去数据库链接以及遇到意外输出等。处理反常行为可能是设计所有系统最难的一部分。
异常处理包括:、
throw表达式,异常检测部分使用throw表达式来表示它遇到了无法处理的问题。

if(item.isbn() != item.isbn())
	throw runtime_error("Data must refer to same ISBN") //runtime_error是标准库异常类型的一种,定义在stdexcept头文件中。

try语句块,异常处理部分使用try语句块处理异常。try语句块处理异常。try语句块以关键字try开始,并以一个或多个catch子句结束。

try {
	pragram-statements
	} catch(exception-declaration){
		handler-statements
	} catch(exception-declaration){
		handler-statements
	}
}
while(cin>>item1>>item2)
{
	try{
		//执行添加两个对象的代码
		//如果添加失败,代码抛出一个runtime_error异常
	} catch(runtime_error err){
		//提醒用户两个ISBN必须一致,询问是否重新输入
		cout << err.what()
			 <<"\nTry Again? Enter y or n"<<endl;
		char c;
		cin >>c;
		if(!cin||c == 'n')
			break;//跳出while循环
	}
}

英语术语
块:block 包围在花括号内的由0条或多条语句组成的序列。
异常类:exception class 是标准库定义的一组类,用于表示程序发生的错误。
异常声明:exception declaration 位于catch子句中的声明,指定了该catch子句能处理的异常类型。
异常处理代码:exception handler 程序某处引发异常,用于处理该异常的另一处代码。
控制流:flow of control 程序的执行路径
引发:raise 含义类似于throw。在C++语言中既可以说抛出异常,也可以说是引发异常
throw 表达式:一种中断当前执行路径的表达式。throw表达式抛出一个异常并且把控制权转移到能处理该异常的最近catch子句。
try语句块:跟在try关键字后面的块,以及一个或多个catch子句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值