当前位置: 首页 > news >正文

C++catch (...)陈述

catch (...)陈述

例外处理可以有多个catch,如果catch后的小括弧里面放...,就表示不限型态种类的任何例外。

举例如下

#include <iostream>int main() {int i = -1;try {if (i > 0) {throw 0;}throw 2.0;}catch (const int e) {std::cout << e << std::endl;}catch (...) {std::cout << "something wrong" << std::endl;}return 0;
}

这里抛出两种例外,第一种为int型态(type) ,第二种则是double型态

if (i > 0) {throw 0;
}
throw 2.0;

catch的部份写了两组,第一组为处理int型态的例外,第二组则是...,也就是任何例外

catch (const int e) {std::cout << e << std::endl;
}
catch (...) {std::cout << "something wrong" << std::endl;
}

这里须注意,如果...的次序放在int之前,发生例外就会直接执行...的部份,因此...放在最后有以上皆非的意义。

编译执行结果如下

$ g++ u0602.cpp
$./a.out 复制代码
有事吗
$

http://www.lryc.cn/news/399050.html

相关文章:

  • Redis实践
  • 【Lora模型推荐】Stable Diffusion创作具有玉石翡翠质感的图标设计
  • vscode 远程开发
  • 前端Vue组件化实践:打造灵活可维护的地址管理组件
  • 虚幻引擎ue5游戏运行界面白茫茫一片,怎么处理
  • 《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》
  • Kotlin Flow 防抖 节流
  • Android Studio下载与安装
  • 【LC刷题】DAY24:122 55 45 1005
  • 从零开始的python学习生活2
  • 【并发编程】进程 线程 协程
  • Vue的生命周期函数有哪些?详细说明
  • 大语言模型应用--AI工程化落地
  • 我会什么开发技能
  • Run LoongArch64 Alpine VM on x86_64
  • 4层负载均衡和7层负载均衡
  • 前端Vue组件化实践:打造仿京东天猫商品属性选择器组件
  • 智慧城市3d数据可视化系统提升信息汇报的时效和精准度
  • Git 详解(原理、使用)
  • android11为开机动画添加铃声(语音)
  • 使用 Akshare 下载国内的期货(主力连续)、股票和指数的历史行情数据
  • 【React】Google 账号之个性化一键登录按钮功能
  • MySQL已经连接对应数据库,但mapper中表名仍报错
  • CentOS 7:停止更新后如何下载软件?
  • MySQL GROUP_CONCAT 函数详解与实战应用
  • MATLAB Gazebo联合仿真
  • Vue3 pdf.js将二进制文件流转成pdf预览
  • 【机器学习】逻辑回归的原理、应用与扩展
  • Ubuntu22.04系统装好后左上角下划线闪烁不开机(N卡)
  • Leetcode刷题4--- 寻找两个正序数组的中位数 Python