- switch语句
一般存在一个普遍的误解,以为程序只会执行匹配的case标号相关联的语句.实际上,程序从该点开始执行,并跨越case边界继续执行其它语句,直到switch结束或者遇到break语句为止.
char ch;
int aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0;
switch(ch){
case 'a':
++aCnt;
case 'e':
++eCnt;
case 'i':
++iCnt;
case 'o':
++oCnt;
case 'u':
++uCnt;
}
- do while语句
string rsp;
do {
cin >> rsp;
}while (!rsp.empty() && rsp[0] != 'n');
do{
munble(foo);
}while (int foo = get_foo());
- try块和异常处理
1)throw表达式,错误检测部分使用这种表达式来说明遇到了不可处理的错误.可以说,throw引发了异常条件.
2)try块,错误处理部分使用它来处理异常(若不可处理了,就用throw表达式).try语句以try关键字开始,以一个或多个catch子句结束,通常会被一个catch子句处理,catch子句也称为处理代码.
if (){
throw runtime_error("Data must refer to same ISBN");
}
try{
}catch(runtime_error err){
...
}catch(){
...
}