迭代语句(循环)
for;for();,while;do-while
条件语句
if-else ;switch
跳转语句
break;continue;return ;goto;
- goto是无条件跳转。所以很容易引起错误,不建议使用。
try语句块和异常处理
int a, b;
cin >> a >> b;
try
{
if (b == 0)throw runtime_error("division by zero");
int c = a / b;
cout << c;
}
catch (runtime_error err)
{
cout << err.what() << "try again";
}
return 0;
- 如果异常的运行过程中存在递归,那么就会逐层寻找匹配的catch语句。
- 如果最终都没有找到,那么就会调用terminate的标准库函数。该函数行为与系统有关,一般是导致程序非正常退出。
标准异常
C++将常用的异常定义在了四个头文件中
- exception定义最常用的异常类exception,只报告异常的发生,不提供额外消息。
- stdexcept定义了包括runtime_error,out_of_range等常用的异常
- new头文件定义了bad_alloc异常类型。
- type_info定义了bad_cast的异常类型。