C++之throw和exception_c++ throw exception-程序员宅基地

throw 是C++中的关键字,用来抛出异常。如果不使用 throw 关键字,try 就什么也捕获不到; at() 函数在内部也使用了 throw 关键字来抛出异常。

throw 既可以用在标准库中,也可以用在自定义的函数中,抛出我们期望的异常。throw 关键字语法为:

throw exceptionData;

exceptionData 是“异常数据”的意思,它既可以是一个普通变量,也可以是一个对象,只要能在 catch 中匹配就可以。

throw 关键字案例:

#include <iostream>
#include <string>
using namespace std;
char get_char(const string &, int);
int main()
{
    string str = "c plus plus";
    try{
    	cout<<get_char(str, 2)<<endl;
    	cout<<get_char(str, 100)<<endl;
    }
    catch(int e)
    {
    	if(e==1)
    	{
   			 cout<<"Index underflow!"<<endl;
    	}
    	else if(e==2)
    	{
   			 cout<<"Index overflow!"<<endl;
    	}
    }
	 return 0;
}
char get_char(const string &str, int index)
{
	    int len = str.length();
	    if(index <
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43667308/article/details/86656241

智能推荐

verilog数字系统设计——串入并出移位寄存器_串入并出的移位寄存器verilog-程序员宅基地

文章浏览阅读5.1k次,点赞2次,收藏33次。verilog数字系统实验设计实现带缓冲器的串入并出移位寄存器。_串入并出的移位寄存器verilog

ORB-SLAM2在window下的配置 (6)_orb_slam2 windows vasprintf-程序员宅基地

文章浏览阅读5.5k次,点赞4次,收藏12次。配置g2o终于到了配置ORB-SLAM2依赖的最后一个库,g2o配置起来麻烦特别多,也不知为什么,蜜汁问题一大堆,之前在window配过一次ORB-SLAM2,就g2o这个库花了我最多时间,问题一个解决又来一个,但因为没即时记录问题和解决方案,后来忘记了怎么搞的了,这也是让我想要写这一系列博客的原因。废话不多说。g2o的源码可以从ORB-SLAM2的源码中抽取:https://github.com/_orb_slam2 windows vasprintf

基于神经网络的虚假评论识别系统(Python)-程序员宅基地

文章浏览阅读242次。虚假评论不仅误导了消费者的购买决策,损害了商家的信誉,还可能导致市场竞争的扭曲和不公平。此外,随着电子商务和社交媒体的快速发展,虚假评论的传播范围和影响力也越来越大。例如,某些网红或明星为了增加自己的粉丝数量和关注度,会雇佣“水军”发布虚假评论来提高自己的口碑;基于上述背景,本论文旨在研究基于数据挖掘的虚假评论识别方法,通过挖掘和分析文本、情感极性等信息,实现对虚假评论的有效识别。数据处理时,应该以utf-8编码,不然读出来的数据较乱,修改数据形式,读取Excel文件,以utf-8编码。_虚假评论识别系统

红色修改修改Android应用程序中的红色叉号的一般步骤-程序员宅基地

文章浏览阅读49次。这几周朋友几篇文章介绍了改红色修改的文章. 关联文章的地址一般在将别人的Android程序导入到自己的环境当中时会出现各种各样的问题,致使程序上出现错误而不能运行。一般的处理步调如下:步调一 对于显而易见的错误,如上图,可以直接定位到错误文件的位置,直接纠正就行了。步调二...

回归预测 | Matlab基于SO-BiLSTM蛇群算法优化双向长短期记忆神经网络的数据多输入单输出回归预测_sobi算法matlab实现-程序员宅基地

文章浏览阅读583次,点赞11次,收藏9次。回归预测 | Matlab基于SO-BiLSTM蛇群算法优化双向长短期记忆神经网络的数据多输入单输出回归预测_sobi算法matlab实现

基于双向循环链表实现的学生管理系统_用c语言的双向链表实现学生管理系统-程序员宅基地

文章浏览阅读469次。student.c文件如图所示#include<stdio.h>#include<stdlib.h>#include<time.h>#include<string.h>#include"student.h"INT32 main(VOID){CHAR chstuName[MAXNAMELENGTH];NODE psthead = cr..._用c语言的双向链表实现学生管理系统

随便推点

采用晶体管作为电子元器件的计算机属于,采用晶体管作为电子元器件的计算机属于(...-程序员宅基地

文章浏览阅读1k次。《采用晶体管作为电子元器件的计算机属于(》由会员分享,可在线阅读,更多相关《采用晶体管作为电子元器件的计算机属于((20页珍藏版)》请在技术文库上搜索。1、袋惰掂志昼诌脓窥造分每痔瑟街谢炮里雪猾邑剑也郎笑罪陨双玛般搐脚绵噶衡辜隧召固玛驳患迄惊约茎持钻葫挪枝冬锈釜茅英级甚韦性极傈讲斧蝎交占玄帛麦凸蕊缆万元驳待荫刹宪茅荒拓常擂奄迄笑呢泣铝蜂爆耳历襟撅枯锥愁恒梁和时俄睛阮翻哉桔廉韧见瑰票彻逆替憎轮慢馅羌..._用晶体管作为电子器件制成的计算机属于( )。

javascript基础从小白到高手系列四百八十六:弹窗屏蔽程序-程序员宅基地

文章浏览阅读379次,点赞4次,收藏5次。所有现代浏览器都内置了屏蔽弹窗的程序,因此大多数意料之外的弹窗都会被屏蔽。在浏览器屏蔽 弹窗时,可能会发生一些事。如果浏览器内置的弹窗屏蔽程序阻止了弹窗,那么 window.open()很可 能会返回 null。在浏览器扩展或其他程序屏蔽弹窗时,window.open()通常会抛出错误。

vue+nodejs考研资料分享系统vscode - Visual Studio Code_visualstudiocode可行性分析-程序员宅基地

文章浏览阅读364次。1.注册功能:个人基本信息以及目标院校(正在考研的)和就读学校(已经上岸的)方便区分是否考研成功,这个地方可以给一个下拉选项是备研和研究生,选择备研就是输入目标院校,研究生就是填写自己就读的院校(但是需要发送验证照片—身份证和学生证或录取通知书给管理员)。论文首先阐述了考研资料分享系统的开发,并对该系统进行了较详细的需求分析,探讨了考研资料分享系统的功能需求、业务流程、系统结构和数据库设计等方面的问题。(3)还有一个游客的角色,可以浏览,但是不能进行其他的操作,进行其他的操作要给出提示需要登录或注册账户。_visualstudiocode可行性分析

html网页制作期末大作业成品:基于HTML+CSS+JavaScript简洁汽车网站(7页)-程序员宅基地

文章浏览阅读845次。????文章目录​​一、????‍????网站题目​​​​二、️网站描述​​​​三、????网站介绍​​​​四、????网站演示​​​​五、️ 网站代码​​​​????HTML结构代码​​​​????CSS样式代码​​​​六、???? 如何让学习不再盲目​​​​七、????更多干货​​一、????‍????网站题目????汽车网站、????汽车介绍、????汽车官网、汽车租赁、企业网页 、等网站的设计..._网页设计与制作html+css+javascripe电子版

记一次勒索病毒后的应急响应-程序员宅基地

文章浏览阅读789次,点赞18次,收藏27次。群晖是一种NAS(网络附属存储)系统,在生活中主要扮演个人私有云角色,可以将文件存储于 NAS,并通过网页浏览器或手机应用程序可实现存储和共享,同时还提供的丰富应用以方便管理应用。借助群晖提供的 QuickConnect 快连服务,无需随身携带存储设备,即可以随时随地访问NAS。因为这些优点,群晖往往被当做是NAS的首选。但偏偏这次被上勒索病毒了,通过资料查询发现该病毒早在2019年安全专家就已经分析过并已提供预警信息,一旦感染,其中的文件都会被加密,并通过留下的文件索要比特币。

QT入门之QMainWindow-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏15次。2 Menu Bar在菜单中栏中,可以添加多个菜单,但是菜单并不负责执行具体的操作,而是在菜单中添加不同的 “动作”(QAction)来完成。在菜单栏中除了添加菜单,还可以直接添加 QAction。2.1 简单示例..._qmainwindow

推荐文章

热门文章

相关标签