c++
大多数语句以分号结束,一个表达式末尾加上分号就变成了表达式语句。表达式语句的作用是执行表达式并且丢弃掉求值的结果- 最简单的语句是空语句。只有一个单独的分号。主要使用来满足某些地方语法强制需要一条语句。
while (cin>>s&&s!=sought);
- 复合语句,用花括号括起来的语句和声明的序列,复合语句也被称作块。一个块就是一个作用域。在块中引入的名字只能在块内部以及嵌套在块中的子块里访问。块不以分号作为结束。
switch
的非法情况int a=1;
switch (a) {
case 1:
case 2:
int b=1;
break;
case 3:
System.out.println(b);
break;
}
- 范围
for
语句(范围循环)
- 花括号括起来的初始值列表,数组,
string
等对象可以使用,共同点是具有能返回迭代器的begin
和end
成员
try-catch
语句
- 异常向着函数调用堆栈往上查找。如果最终没有命中任何
catch
子句,则程序转到terminate
的标准库函数。该函数行为与系统有关,一般情况下执行该函数讲导致程序非正常退出 - 标准库函数遇到的异常
#include <exception>
定义了最通用的异常类exception
。只报告异常的发生,不提供任何额外信息。#include <stdexcept>
定义了几种常见的异常#include <new>
定义了bad_alloc
异常类型#include <type_info>
定义了bad_cast
异常类型- 只定义了,创建拷贝异常对象以及异常对象赋值。
- 只能以默认初始化的方式初始化
exception
,bad_alloc
和bad_cast
对象。不能为这些对象提供初始值。what
返回内容由编译器决定。 - 其他异常应该使用
string
或者C
风格字符串初始化这些类型的对象。但不允许使用默认初始化的方式。what
返回初始值。 what
方法返回一个const char*
,提供关于异常的一些文本信息。