C++之异常处理机制

2023-11-15

一、C++异常处理机制是由3个部分组成:检查(try)、抛出(throw)和捕捉(catch)

把需要检查的语句放在try中,throw用来当出现异常时发生一个异常信息,而catch则用来捕捉异常信息,如果捕捉到了异常信息就处理它。

二、(1)首先介绍try

首先是把可能出现异常的、需要检查的语句或程序放在段放在try后面的花括号中。

try块可以嵌套、程序按顺序寻找匹配的异常处理器,抛出的异常将被第一个类型符合的异常处理器捕获 、如果内层try块后面没有找到合适的异常处理器,该异常向外传播,到外层try块后面的catch块中寻找 、没有被捕获的异常将调用terminate函数,terminate函数默认调用abort终止程序的执行,可以使用set_terminate函数指定terminate函数将调用的函数

try_catch语句形式如下 :

try
{
        包含可能抛出异常的语句;
}

catch(类型名 [形参名]) // 捕获特定类型的异常
{


}
catch(类型名 [形参名]) // 捕获特定类型的异常
{


}
catch(...)    // 三个点则表示捕获所有类型的异常
{
}

(2)catch

1.一个异常处理器一般只捕捉一种类型的异常 
2.异常处理器的参数类型和抛出异常的类型相同 
3. …表示可以捕获任何异常

注意事项:

在一个try_catch中,可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++之异常处理机制 的相关文章

  • vector 不是模板 报错解决

    目录 vector 不是模板 报错解决 嵌套vector 批量修改失败 嵌套vector 批量修改OK vector 不是模板 报错解决 list和vector在命名空间std里 因此只需要在vector前加std 即可 include
  • c++职工管理系统

    要求 代码 management system cpp main函数 include
  • C++数据类型(整型、浮点型、字符型、字符串型、布尔型)

    文章目录 1 整型 2 sizeof关键字 3 浮点型 实型 4 字符型 5 转义字符 6 字符串型 7 布尔类型 bool 8 C 数据类型小结 9 数据的输入 C 创建变量或常量时 必须指定数据类型 否则无法为变量分配内存 数据类型的意
  • 统计字符串中整数个数

    输入一个字符串 内有数字和非数字字符 例如 jh2515da555adad22 dsd55252aa 将其中连续数字作为一个整数 依次存放在 一组数a中 例如 2515放在a 0 555放在a 1 统计有多少个整数 并输出这些数 inclu
  • 【千律】C++基础:宽窄字节字符串的相互转换与控制台输出

    方案1 include
  • 如何重载前置++和后置++

    前置 即 运算符位于操作数的前面 例如 i 后置 即 运算符位于操作数后面 例如 i 注意一下几点 1 前置 重载时没有参数 而后置 重载时有参数 不会使用其参数 仅仅是区分用 可以理解为前置 后面有参数了 所以不需要参数 2 前置 需要返
  • 同步和异步的区别

    同步 同指一个进程在执行某个请求的时候 若该请求需要一段时间才能返回信息 那么这个进程将会一直等待下去 直到收到返回信息才继续执行下去 异步 是指进程不需要一直等下去 而是继续执行下面的操作 不管其他进程的状态 当有消息返回时系统会通知进程
  • Cpp学习——string(2)

    目录 编辑 容器string中的一些函数 1 capacity 2 reserve 3 resize 4 push back 与append 5 find系列函数 容器string中的一些函数 1 capacity capacity是str
  • c# 位运算符

    说来惭愧 今天看别人提供的源码 看了这些运算符竟然有些记不起来 在这里就记录一下 首先认识这些运算符 按位与 其实与 逻辑运算符有一致的地方 下面会讲到 按位或 同样与 有类似的地方 按位取反 按位异或 lt lt 左移运算符 gt gt
  • C++项目:Json_parser

    我的json parser generator 我的json parsergenerator 我的json parsergenerator 功能简介 1 解析器部分 2 生成器部分 3 测试部分 部分实现 1整体框架 1json value
  • 【千律】C++基础:多态性与虚函数

    虚函数 通过父类的指针 指向子类的对象 调用虚函数时 调用子类的函数 include
  • C# 全局变量与局部变量

    C 在变量之间有一个基本的区分 把在类型级别声明的变量看作字段 全局变量 而把方法级别声明的变量看作局部变量 class ScopeTest static int j 20 public static void Main int j 30
  • 配置setting.json解决vscode和vim按键冲突

    vim 对于需要经常使用的vscode中的复制 粘贴 剪切 全选 查找和新建等 在vim正常模式下是不可用的 不过可以在配置文件中取消vim handleKeys键位映射 即保留这些原始按键功能 对于上述可能存在和正常按键冲突 可以通过设置
  • 关于对象的引用作为参数,可以直接访问私有成员的问题

    include using namespace std class CPoint public CPoint int xx int yy x xx y yy CPoint const CPoint p x p x y p y private
  • 条件编译小结

    编码的时候经常要用到条件编译 每次都到网上去查比较浪费时间 今天总结一下以备后用 编译器 GCC ifdef GNUC if GNUC gt 3 GCC3 0以上 Visual C ifdef MSC VER 非VC编译器很多地方也有定义
  • C++之异常处理机制

    一 C 异常处理机制是由3个部分组成 检查 try 抛出 throw 和捕捉 catch 把需要检查的语句放在try中 throw用来当出现异常时发生一个异常信息 而catch则用来捕捉异常信息 如果捕捉到了异常信息就处理它 二 1 首先介
  • Unable to correct problems, you have held broken packages无法安装libignition-math6-dev

    sudo apt get install libignition math6 dev 出现错误 Reading package lists Done Building dependency tree Reading state inform
  • C++四种类型转化

    文章目录 static cast const cast reinterpret cast 重新解释 dynamic cast static cast 该运算符把expression转化为type name类型 static cast在编译时
  • Cpp学习——类与对象3

    目录 一 初始化列表 1 初始化列表的使用 2 初始化列表的特点 3 必须要使用初始化列表的场景 二 单参数构造函数的隐式类型转换 1 内置类型的隐式类型转换 2 自定义类型的隐式类型转换 3 多参数构造函数的隐式类型转换 4 当你不想要发
  • 深入研究C++多态(虚函数和虚继承)

    文章目录 多态的引入 虚函数表 几种常见继承关系中的类内存分布 单继承 多继承 菱形继承 总结 作者 狗子孙 链接 https www jianshu com p 02183498a2c2 来源 简书 简书著作权归作者所有 任何形式的转载都

随机推荐

  • spark Scala中dataframe的常用关键字:withColumn

    withColumn关键字 用于操作dataframe原表某一列的数据 将操作完的每一行数据形成一列 用来替换一个表原有的列或者在原表后面追加新的列 语法如下 def withColumn colName String col Column
  • 家具商城小程序:连接优质家居产品的桥梁

    随着人们对家居生活品质的追求 家具商城小程序成为提供便捷购物和个性化服务的不可或缺的工具 通过家具商城小程序 用户可以浏览并购买各类家具产品 如沙发 床 桌子等 同时 家具商城小程序还提供个性化的推荐 客户评价和在线客服等功能 家具商城小程
  • JMeter性能测试,完整入门篇

    1 Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 相比Loadrunner而言 JMeter小巧轻便且免费 逐渐成为了主流的性能测试工具 是每个测试人员都必须要掌握的工具之一 本文为JM
  • 【Vue入门】语法 —— 事件处理器、自定义组件、组件通信

    目录 一 事件处理器 1 1 样式绑定 1 2 事件修饰符 1 3 按键修饰符 1 4 常用控制符 1 4 1 常用字符综合案例 1 4 2 修饰符 二 自定义组件 2 1 组件介绍及定义 2 2 组件通信 2 2 1 组件传参 父 gt
  • vim 操作命令大全

    曾经使用了两年多的Vim 手册也翻过一遍 虽然现在不怎么用vim了 曾经的笔记还是贴出来 与喜欢vim的朋友分享 1 关于Vim vim是我最喜欢的编辑器 也是Linux下第二强大的编辑器 虽然emacs是公认的世界第一 我认为使用emac
  • Job for named.service failed because the control process exited with error code.怎么解决

    问题 root localhost systemctl restart named Job for named service failed because the control process exited with error cod
  • 中台战略-第一章、企业数字化转型

    第一章 企业数字化转型 数字经济是当前所有企业在时代都要考虑的问题 不久的将来 他会成为社会经济中的新引擎 也会逐步推动产业互联和企业商业生态的数字化转型 消费者对于产品与服务的升级需求带动着各类触点场景和产品延伸服务的不断变化 云计算 大
  • npm run serve 卡住解决方案

    问题描述 在本地开发vue前端时 使用npm run serve运行vue项目 却运行到40 左右不动 删除node modules依赖包目录 重新npm install 但还是未解决 解决方案 并不是依赖包的问题 而是代码的原因 在vue
  • QNAP 安装nextcloud私有网盘

    下载nextcloud服务端 并上传到web文件夹下 首先安装并开启PHPmyadmin 在app store搜索并下载PHPmyadmin 同时 打开自带的mariadb服务 默认用户名密码就是qnap自己的用户名和密码 也可以更改 然后
  • 设计模式:高性能IO之Reactor模式

    讲到高性能IO绕不开Reactor模式 它是大多数IO相关组件如Netty Redis在使用的IO模式 为什么需要这种模式 它是如何设计来解决高性能并发的呢 最最原始的网络编程思路就是服务器用一个while循环 不断监听端口是否有新的套接字
  • 1. TypeScript 基础类型

    TypeScript 基础类型 1 布尔 数字 字符串类型 let myname string 小米 let age number 18 let bool boolean true console log 1 布尔 数字 字符串类型 myn
  • Mysql join大表优化案例

    一 准备知识 Mysql join原理及结论 1 MySQL join分为 inner join left outer join right outer join full join mysql不支持full join 但是可以利用left
  • hive修改字段及字段类型

    hive修改字段类型语句 alter table 表名 change column 原字段名 新字段名 字段类型 alter table user chain change column u register u registe date
  • VSCode 远程连接服务器-亲测有效

    VSCode 远程连接服务器 前言 步骤 前言 网上教程很多 但是还挺坑 自己试了下整个步骤可以很快解决 首先window10需要用ssh功能 这个在win10已经默认安装 就不在赘述 步骤 SSH插件 首先在vscode中安装插件ssh插
  • 大数据课程J2——Scala的基础语法和函数

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 掌握Scala的基础语法 掌握Scala的函数库 一 Scala 基础语法一 1 概述 语句 说明 示例 var 用来声明一个变量 变量声明后 在程序执行过程
  • 提升页面加载速度的方案

    性能优化是一个庞大而相对复杂的知识 如今互联网发展迅速 市场竞争激烈 在这样的环境下一个网站的性能决定着一个项目的好与坏 为了降低软件项目的跳出率 提高访问速度 减少加载时间 带给用户流畅的终端体验 好的优化是必不可少的 如何判断页面的载入
  • js如\x6C\x69\x6E\x65\x63\x68加密代码解压方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 解码方法如下 简单 复制下面的代码 保存为 html
  • VMware16安装win7 x64 虚拟机

    文章目录 VMware安装win7操作系统 下载iso镜像文件 新建虚拟机 安装VMware Tools 安装VMware Tools 安装程序无法自动安装VSock驱动程序 必须手动安装此驱动程序 出现安装程序无法自动安装VSock驱动程
  • tomcat应用

    web服务器 web服务器是安装在服务端主机上实现了http协议的软件 也叫http服务器 如微软的IIS 当前排名第一开源免费的Apache 个人认为 凡是实现了应用层协议的软件都可以叫web服务器 如ftp服务器 smtp服务器 只不过
  • C++之异常处理机制

    一 C 异常处理机制是由3个部分组成 检查 try 抛出 throw 和捕捉 catch 把需要检查的语句放在try中 throw用来当出现异常时发生一个异常信息 而catch则用来捕捉异常信息 如果捕捉到了异常信息就处理它 二 1 首先介