C++ Primer 5th学习笔记4 异常语句

语句

try语句块和异常处理

  C++语言中,异常处理包括以下几种:

  • throw表达式,异常检测部分使用throw表达式,来表示程序遇到了无法处理的问题。
  • try语句块(try block),异常处理部分使用try语句块处理异常,try语句块以关键字key开始,并以一个或多个catch子句结束。
  • 一套异常类,用于在throw表达式和相关catch子句之间传递异常的具体信息。

1、try语句块

  try语句的通用语法形式是:

try
{
    program-statements
}
catch (exception-declaration)
{
    handler-statements
}
catch (exception-declaration)
{
    handler-statements
}

2、标准异常

  C++标准库中定义了一组类,用于报告标准库函数遇到的问题。这些类分别定义在以下四个头文件中:

  • exception头文件定义了最通用的异常类exception。此类只报告异常的发生,不提供任何额外信息。

  • stdexcept头文件定义了几种常用的异常类

  • new头文件定义了bad_alloc异常类型

  • type_info头文件定义了bad_cast异常类型

    <stdexcept>定义的异常类

exception最常见的问题
runtime_error只有在运行时才能检测出的问题
range_error运行时错误:生成的结果超出了有意义的值域范围
overflow_error运行时错误:计算上溢
underflow_error运行时错误:计算下溢
logic_error程序逻辑错误
domain_error逻辑错误:参数对应的结果值不存在
invalid_error逻辑错误:无效参数
length_error逻辑错误:试图创建一个超出改类型最大长度的对象
out_of_error逻辑错误:使用一个超出有效范围的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值