C++Primer2021.11.29

技术C++Primer2021.11.29 C++_Primer_2021.11.29第5章 语句
表达式语句:
一个表达式末尾加上分号,就变成了表达式语句。表达式语句的作用是执行表达式并丢弃掉求值结果

C _Primer_2021.11.29

第五章陈述

表达式语句:

结尾带有分号的表达式成为表达式语句。该语句的目的是执行表达式并丢弃计算结果。

;//空语句:语句在语法上是必需的,但在逻辑上不是,所以应该使用空语句。

简短的回答:

复合语句(块):指用花括号括起来的语句和声明序列(可以是空的),复合语句也称为块。是一个范围。while或for的循环体必须是一个语句,但是要做很多事情,请使用花括号将语句序列变成一个块。

不要以分号结尾。

空块的作用相当于空语句。

开关:

不能使用逗号;相反,应该使用:ival不是常量;

无符号odd _ CNT=0;

无符号ival=512,jval=1024,kval=4096

无符号bufsize

无符号swt=get _ BufCnt();

开关(swt){ 0

案例1、3、5、7、9:

奇数_ cnt

打破;

病例ival:

buf size=ival * sizeof(int);

打破;

}

返回0;

5.4迭代语句

While和for在执行循环体之前检查条件,do while语句首先执行循环体,然后检查条件。

当您不确定迭代次数时,使用while循环更合适。还有一种情况,您希望在循环结束后访问循环控制变量。

while循环特别用于条件保持不变并且重复操作的情况,例如当没有到达文件末尾时连续读取一个值。

for循环更像是一步一步的迭代,它的索引值在一定范围内变化一次。

5.6 TRY语句块和异常处理

异常处理机制为程序中异常检测和异常处理的协作提供了支持。

抛出表达式:抛出异常

Try block and catch子句,称为异常处理程序。

异常类:用于在抛出表达式和相关catch子句之间传递异常的具体信息。

5.6.1抛出表达式

包括关键字throw及其后面的表达式,其中表达式的类型是抛出异常的类型,throw表达式后面通常是分号,从而形成一个表达式语句。引发异常将终止当前函数,并将控制权转移给处理该异常的代码。

尝试{

抛出runtime_error('数据必须引用相同的ISBN ');

} catch(runtime _ error){ 0

cout err . what();

}

type runtime_error是标准库异常类型之一,它是在stdexcept头文件中定义的。

catch子句由三部分组成:关键字catch、括号中对象(可能未命名)的声明(称为异常声明)和块。

try块中声明的变量不能在块外访问,尤其是在catch子句中。

如果没有找到Catch子句,它将沿着程序的执行路径一步步后退,直到找到合适类型的catch子句。如果最终没有找到,将进入终止的标准功能。这个函数的行为与系统有关。一般来说,执行这个函数会导致程序异常退出。

如果一个程序没有try语句块并且出现异常,系统将调用终止函数并终止当前程序的执行。

在异常期间正常执行“清理”工作的程序称为异常安全代码。但是经验表明,编写异常安全的代码是非常困难的,这部分知识(远远)超出了本书的范围。

对于那些真正想要处理异常并继续执行的程序,我们应该多加注意。我们必须始终知道异常何时发生,如何确保对象有效,资源不泄露,程序处于合理的状态,等等。

5.6.3标准异常

c标准库定义了一组类,用来报告标准库函数遇到的问题,也可以用在用户编写的程序中。它们分别在四个头文件中定义:

异常头文件,定义了一般的异常类异常。仅报告异常的发生,不提供额外信息。

Stdexcept头文件,它定义了几个常见的异常类。

最常见的问题例外

Runtime_error是一个只在运行时检查的问题。

Range_error运行时错误:生成的结果超出了有意义的值范围。

Overflow_error运行时错误:计算溢出

下溢_错误运行时错误:计算下溢

逻辑错误程序逻辑错误

Domain_error逻辑错误:参数对应的结果值不存在。

无效参数逻辑错误:无效参数

Length_error逻辑错误:试图创建超过此类型长度的对象。

超出范围逻辑错误:使用有效范围之外的值。

新头文件定义了bad_alloc异常类型。

类型信息头文件定义了错误转换异常类型

您只能默认初始化:异常、bad_alloc和bad_cast对象。其他异常类型应该使用字符串对象或C风格的字符串来初始化这些类型的对象,但是不允许使用默认的初始化方法。该初始值包含与错误相关的信息。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/126062.html

(0)

相关推荐

  • evo rosbag转tum踩坑

    技术evo rosbag转tum踩坑 evo rosbag转tum踩坑LZ4,rosbag,tum,evo想把bag文件中的nav_msgs/Odometry转成tum格式的,好和VINS的结果进行比较

    礼包 2021年12月16日
  • 抖音买10个赞自助下单平台,免费抖音下单网站?

    技术抖音买10个赞自助下单平台,免费抖音下单网站?抖音业务自助下单刷平台为明星、网红和企业提供抖音刷粉丝,抖音买粉丝,抖音买赞,抖音刷赞,抖音刷粉,抖音权限开通,抖音上热门等抖音服务,我们不同于其他网站,我们只做效率快的

    测评 2021年11月11日
  • 手机不显示4g网络是怎么回事,手机没有4g网是怎么回事

    技术手机不显示4g网络是怎么回事,手机没有4g网是怎么回事若手机没有4G信号手机不显示4g网络是怎么回事,建议按照以下操作方法排查: 1、需要使用的是4G手机,且使用相应制式的4G电话卡;
    2、重新插拔SIM卡尝试,条件

    生活 2021年10月30日
  • 如何查看oracle统计信息收集

    技术如何查看oracle统计信息收集本篇内容主要讲解“如何查看oracle统计信息收集”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何查看oracle统计信息收集”吧!查看

    攻略 2021年10月22日
  • 摔跤技巧,求摔跤的技巧和基本功!!!

    技术摔跤技巧,求摔跤的技巧和基本功!!!即便只是技巧摔跤技巧,也需要花时间磨练,巧劲不是那么容易掌握的。说两个基本功吧:拉皮带,转缸。 选一条自行车内胎,一劈为二,选一条,两手各握其中一端。进行一手向前一手向后的对拉训练

    生活 2021年10月28日
  • 上中下结构的字有哪些,汉字有几种结构?如上下、左右等

    技术上中下结构的字有哪些,汉字有几种结构?如上下、左右等汉字有几种结构1独体字2合体字
    (1)上下结构
    (2)上中下结构
    (3)左右结构
    (4)左中右结构
    (5)全包围结构
    (6)半包围结构
    (7)穿插结构
    (8)品字形

    生活 2021年10月30日