news 2026/6/9 22:40:40

C++之函数异常与标准异常类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++之函数异常与标准异常类

函数异常

  • 当一个函数声明中不带任何异常描述时,它可以抛出任何异常
  • C++允许限制函数能够抛出的异常类型,限制方法时在函数声明后面添加一个throw参数表,在其中指定函数可以抛出的异常类型
intfun(int,char)throw(int,char);
  • 函数fun被限定只允许抛出int和char类型的异常,当fun函数抛出其他类型的异常时,程序将被异常终止
  • 如果函数不允许抛出任何异常,只需要指定throw限制表为不包括任何类型的空表
intfun(int,char)throw();
#include<iostream>#include<cstdio>#include<csetjmp>usingnamespacestd;classFileError{};classMemoryError{};voidfunc(void)throw(FileError,MemoryError){throwFileError();//throw MemoryError();}intmain(void){try{func();}catch(FileError&ex){cout<<"file error"<<endl;return-1;}catch(MemoryError&ex){cout<<"memory error"<<endl;return-1;}return0;}

标准异常类

  • C++库中专门设计了exception类表示异常

#include<iostream>#include<cstdio>#include<csetjmp>usingnamespacestd;classFileError:publicexception{public:virtualconstchar*what()constthrow(){cout<<"handle file error"<<endl;return"FileError";}};classMemoryError:publicexception{public:virtualconstchar*what()constthrow(){cout<<"handle memory error"<<endl;return"MemoryError";}};voidfunc(void)throw(FileError,MemoryError){//throw FileError();throwMemoryError();}intmain(void){try{func();}catch(exception&ex){cout<<ex.what()<<endl;return-1;}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 20:15:57

树莓派兼容的文字处理软件推荐

本文为大家推荐多款可在树莓派上流畅运行的优质文字处理软件及办公套件&#xff0c;详细介绍各款工具的核心优势、功能亮点与适用场景&#xff0c;助力大家为树莓派挑选适配的文档编辑与创作工具。 如今&#xff0c;将树莓派作为日常使用的电脑已不再小众&#xff0c;众多用户将…

作者头像 李华
网站建设 2026/6/8 19:02:51

基于Python的膳食健康系统_96e1ff52

文章目录一、项目技术二、项目内容和功能介绍三、核心代码四、效果图五 、资料获取一、项目技术 开发语言&#xff1a;Python python框架&#xff1a;Django 软件版本&#xff1a;python3.7/python3.8 数据库&#xff1a;mysql 5.7或更高版本 数据库工具&#xff1a;Navicat11…

作者头像 李华
网站建设 2026/6/8 19:51:37

还在愁论文?AI 写论文软件排行榜你真会选吗?

先给你最关键的结论 —— 按需求选对工具才是核心&#xff0c;不是盲目追 “榜一”。中文降重选PaperRed&#xff08;语义级改写&#xff0c;AI 率稳 < 5%&#xff09;&#xff0c;国内毕业全流程选毕业之家&#xff08;格式精修 合规降重&#xff09;&#xff0c;通用初稿…

作者头像 李华
网站建设 2026/6/8 20:15:55

TEASOFT驱动Keysight示波器自动截图:一键获取波形图并嵌入CSDN

前言 在编写电子电路、信号处理相关的技术博客时&#xff0c;经常需要将示波器屏幕截图插入到文章中。传统的手动截图方式效率低下&#xff1a;需要手动操作示波器保存截图、选择文件、上传图片、手动调整格式。今天介绍一个基于Python的自动化工具 keysightpf.py&#xff0c;可…

作者头像 李华
网站建设 2026/6/8 19:15:50

精密制造QMS解决方案:海岸线PQM破解质量追溯与交付难题

一、精密制造质量困境&#xff1a;数据孤岛难解&#xff0c;QMS数字化破局关键当前&#xff0c;精密制造企业数字化转型普遍陷入两难&#xff1a;系统投入持续增加&#xff0c;数据孤岛却愈发突出&#xff1b;流程文件不断细化&#xff0c;一线执行抵触情绪加剧&#xff1b;管理…

作者头像 李华
网站建设 2026/6/8 18:51:00

如何在没有备份的情况下从 iPad 恢复照片?

许多因素都可能导致 iPad 上的照片丢失&#xff0c;例如意外删除、病毒攻击、 iOS更新失败等等。随着近年来科技的发展&#xff0c;在没有备份的情况下丢失 iPad 上的照片已不再是噩梦。您可以借助以下两种行之有效的方法&#xff0c;快速恢复没有备份的 iPad 上的照片。第 1 部…

作者头像 李华