c++异常处理函数
2024-10-06 10:49:13
注意: throw 抛出异常,catch 捕获异常,try 尝试捕获异常
catch 中的参数类型要和throw 抛出的数据类型一致
try
{
//可能抛出异常的语句
}
catch (异常类型1)
{
//异常类型1的处理程序
}
catch (异常类型2)
{
//异常类型2的处理程序
}
// ……
catch (异常类型n)
{
//异常类型n的处理程序
}
例1:
#include <iostream>
#include <stdlib.h>
using namespace std; enum index{underflow, overflow}; int array_index(int *A, int n, int index); int main()
{
int *A = new int[10];
for(int i=0; i<10; i++)
A[i] = i;
try
{
cout<<array_index(A,10,5)<<endl;
cout<<array_index(A,10,-1)<<endl;
cout<<array_index(A,10,15)<<endl;
}
catch(index e)
{
if(e == underflow)
{
cout<<"index underflow!"<<endl;
exit(-1);
}
if(e == overflow)
{
cout<<"index overflow!"<<endl;
exit(-1);
}
} return 0;
} int array_index(int *A, int n, int index)
{
if(index < 0) throw underflow;
if(index > n-1) throw overflow;
return A[index];
}
这是用来处理数组越界的代码,throw 抛出的是枚举型的数据,因此catch 中的数据类型也是相应的枚举型
C++语句中有默认的异常处理函数,会对异常做出处理。
最新文章
- [Machine-Learning] 熟悉 Matlab 中的 map
- html5中新的标准属性
- Node.js权威指南 (4) - 模块与npm包管理工具
- CSS display属性的值及作用
- Sicily-1438
- wl18xx编译的时候出现WARNING: ";simple_open"; WARNING: ";wl12xx_get_platform_data";
- GROUP BY语句与HAVING语句的使用
- Web前端知识体系精简
- Drools文档(六) 用户手册
- 死磕 java集合之CopyOnWriteArraySet源码分析——内含巧妙设计
- 纯js Ajax 请求
- 查询正在运行的请求及其后台对应SQL
- git clone Failed to connect to 127.0.0.1 port 43213: Connection refused
- [P3768]简单的数学题
- Github远程仓库关联
- TensorFlow在windows10上的安装与使用(一)
- 如何把自己的wordpress网站移到本地修改
- 编程语言分类和Python解释器介绍
- 集群服务器、负载均衡和session共享,C#的static变量
- java开发_mysql中获取数据库表描述_源码下载
热门文章
- (三十九)c#Winform自定义控件-面包屑导航
- Zabbix数据库空间大小使用计算
- JDK1.6 对 synchronized 的锁优化
- Windows下如何使用Tensorflow Object Detection API
- Linux CentOS7 下设置tomcat 开机自启动
- Selenium3 + Python3自动化测试系列九——cookie操作
- JSP指令、标签以及中文乱码
- Java中集合的概述
- 原生js之Ajax
- Sherlock之Instructions指令介绍(Sherlock Version: 7.2.5.1 64-bit)