C++ 异常机制
程序在运行的时候可能产生各种可预料到的异常,例如磁盘不足,内存不足,或是数学运算溢出,数组越界之类的。为了解决这些问题,C++提供了异常处理机制,它一般是由try语句和catch语句构成。
一、try和catch语句
示例代码如下:
aaarticlea/png;base64,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" alt="" width="524" height="397" />
首先我们定义了一个函数用于相除,假如被除数等于零就抛出异常。此时可以看到函数的定义后面多了一个throw(int)语句,这是用于强调此函数会抛出一个int类型的异常,当然不加也可能抛出各种类型。当我们输入b为零时,cal就会抛出0,而cal函数内并没有catch语句来捕捉异常,所以cal函数强行停止。cal函数抛出的异常在main函数中被catch语句捕捉到(注意到catch(int)表示捕捉int类型的抛出,另外,我们可以同时使用多个catch来捕捉多种类型的异常),于是会执行catch内的代码块。当然假若我们在cal函数中抛出的是一个double类型,那么main函数的catch就无法完成捕捉,程序会直接崩溃。也就是说,throw抛出的类型要和catch所能捕捉的类型一致。代码运行结果如下:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAABPCAIAAADeCG9iAAAFlElEQVR4nO3ca1faSBzHcd7eQkDwldVKES+IwFbssqgF2p7edl2WaO+CgKKChd219/Y17IMIDYQkkwQ7Ur+fBxyIk38m4/wcIDn6VFWtVCqVSmXw5G+DcrlcLpf/Mij3jbzU07ff0fnTzh99T58+ffLkyePHjx89evTw4cP7Dx7cu3e/VCqVSqVCsVgoFO/eLRQKxUKhWCyWisViqVQq2in0DZ5vb2/f3dZsaTY1W1ubm5tbuke9fD6fz+d/78vlcrlc7re+O3fuDB41uVxOa5k3p9UZVNjY2NjY2Mhms9ls9rZbvwrIpNOp1FoyubqaSCwvLy3G4wuxWDQ6f+tC7Nat2EI8vrS0tLyyklhNrq2l0ul0JvO9gv5wmUwmk8mk0+lUKpVKpdbW1pLmVs0lLK2srCz3LfUt6sTj8QWdmICL041Go9FodH7+5s25ubm5uRs35udvRqPRWCy2EI8vLS8nEolkMplKpTMXQ3B7fX19fX0965xPVVVVVbvd7vmw/0z864TT9pp/hvV6vV6v1+12u93u27fds7Ozs7OzTqfT6XTanU77u0673TFqizi9cHLheOBEzLGJVqtl3Oi0VKvVarVaRzqHl6TZbDabzUaj0WjU6/V6vX4wTNvYaDSazWZTuJ6uqqm6Wwd2ao5Vjfb396vVaq1WG4yDNgjaaWq/lJZbPlVVe73e4uLi7BUWiUTC4Ug4HJ6ZmQnNzIRCoWAwGAwGlWBQUYKKor0KaWbEhUIXpRRFUZRAIBDw+/1+/y99fr8/EAgEFEVRlP4BHJTXC/dFIpFIJCJ7RK1pfYyEx4hMQ/8nL/Ld7MRP3qeq6vn5+ezsrA+AFIQQkKxSqRBCQCZWQkAyYwh3dnYE99VfcriMvgHXwkgIxROlb0kOAfcGIXS6rBFCYDJcr4R6hBBwz3sISSDgiccQkkDAKy8hJIHABPDtKCDZ2G9HRULltD2A8bhjBpCMEAKSEUJAMkIISEYIAckIISAZIQQk04eQ64SABCMX6wfbbXNF8IDJ2N3dNYZQZHEjhMBkGEMo+A6TEAKTMTaEPuG3o3wgBLwaCeHIeihYhBwC7hlDqG0nhMAPMvaLGZ8hV8a3na4TC2DI3t7eu3fvbK8TWm8kgYB7+hACkGBvb4/b1gCZBp8JZXcEuK4IISAZnwkByQghIBkhBCR79uzZSAid3ijDpULAk5EQisfJ+g4bAKIGIXS6phlvWyOEgBveV0LekQKeTCSEjnYEMOT58+fv3793HcKR9fCyegn8xLyH0OmOAIa8ePHCSwjNXgIQNQjhjoHtvk7bAxhjZCUE8KMRQkCyly9ffvjwgRAC0hBCQLJXr14RQkAmQghIRggByV6/fj2lITS7Pun0oqVZe6fXPwXbT/CyKtdpfxLTG0KfSX4mFcLJlvJSVqQIOZxiVySE7v6cX/bMm5YQshhOtzdv3nz8+NH4b/AHDfRbzH7xZruI1DH+1NbOMJHjGp+btXda36K9u/6P7apZEYteYWrs7+9rIbSdrD5DVMZud1HHEduZ6nRmC7Z3+tzFKTgqpR9M8UPjKqpWq58+fbK+gVu/xThRRrZbzCSzOo7YztSxB/Xe3mx8bOuLn4KjUiM9cT2ekG8khGPbmP3Idk5bzO+xe3mZwWZHmVR7kUGQEkJHh8ZVNDaEguGxndOCdXyXGUJ9cZGzcJoQF0mwHSKROuJji6uuVqtpIfTZfaEiPrMd1XFBX8c4oS2ObtHPsXUs6ov0x6LzI3uZtbFmdrKYMvoQ4iogUdfOwcHB58+fCaF0rGnXV71eJ4SATIQQkKzRaBBCQCZCCEjWbDa/fPlCCAFpDg8PCSEgEyEEJDs6OiKEgEytVuvr16+EEJDm+PiYEAIynZycfPv2jRAC0pyenhJCQKZ2u00IAYn+B6Mbug2ZG1yiAAAAAElFTkSuQmCC" alt="" />
假如我们连续调用了几个函数,当最底层函数抛出了异常,它会首先在自身中寻找catch语句的捕捉,如果不能完成捕捉就会将异常抛出到调用它的上一层的函数,如果依旧不能,则继续向上抛出,以此类推...,这个便是异常的栈展开:
aaarticlea/png;base64,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" alt="" />
二、异常类
假如只是抛出一个int类型,我们只是知道有异常抛出,并不能知道更多的信息。但我们若只是抛出一个类的话,就可以在类中添加丰富的信息了。如以下代码:
#include<bits/stdc++.h>
using namespace std; class myException{
private:
char* s;
public:
myException(char* _s){
s = _s;
};
char* what(){
return s;
} };
double cal(double a, double b){
if(b == ) throw myException("b is 0");
if(a == ) throw myException("a is 0");
return a / b;
}
int main(int argc, char const *argv[])
{
double a, b;
while(cin >> a >> b){
try{
cout << cal(a, b) << endl;
}
catch(myException &e){
cout << e.what() << endl;
}
}
return ;
}
我们定义了一个异常类,当产生异常时可以调用构造函数将异常信息传给数据成员s,然后被catch捕捉时可以调用成员函数what()来输出异常信息。程序运行结果如下:
aaarticlea/png;base64,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" alt="" />
//End.
C++ 异常机制的更多相关文章
- Atitit 异常机制与异常处理的原理与概论
Atitit 异常机制与异常处理的原理与概论 1. 异常vs 返回码1 1.1. 返回码模式的处理 (瀑布if 跳到失败1 1.2. 终止模式 vs 恢复模式(asp2 1.3. 异常机制的设计原理 ...
- C++ 异常机制分析
C++异常机制概述 异常处理是C++的一项语言机制,用于在程序中处理异常事件.异常事件在C++中表示为异常对象.异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统 ...
- 【转载】C++异常机制的学习
参考了这篇文章:http://blog.chinaunix.net/uid-24517549-id-4079174.html 关于线程 进程和线程的概念相信各位看官早已耳熟能详.在这里,我只想带大家回 ...
- Java异常机制
Java异常分类 异常表明程序运行发生了意外,导致正常流程发生错误,例如数学上的除0,打开一个文件但此文件实际不存在,用户输入非法的参数等.在C语言中我们处理这类事件一般是将其与代码正常的流程放在一起 ...
- 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...
- C 几种异常机制简单讲述
引言 这是关于C中如何使用异常机制的讨论.顺带讲一讲C中魔法函数的setjmp内部机制.通过它实现高级的异常try...catch. 允许我先扯一段面试题. 对于计算机面试题. 算法题等.觉得还是有意 ...
- C++异常机制知识点
在这里总结一下,C++中的异常机制,以及如何使用异常的知识点 C++中处理异常的过程是这样的:在执行程序发生异常,可以不在本函数中处理,而是抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决 ...
- [转载]C++异常机制的实现方式和开销分析
原文章网址:http://baiy.cn/doc/cpp/inside_exception.htm C++异常机制的实现方式和开销分析 白杨 http://baiy.cn 在我几年前开始写<C+ ...
- c++异常机制实现原理
今天突然看到一篇文章,讲异常机制的实现,所以分享一下:http://baiy.cn/doc/cpp/inside_exception.htm 内容讲的很深,但是编译器的实现是不是真是这样就不知道了,我 ...
- java中的异常机制(编译时异常)
/ * 1 异常机制的原理 * 异常是什么:就是错误的另外一种说法; * 在java中,有一个专门模拟所有异常的类,所有的异常都必须继承这个类:Throwable; * 本质是:当程序出错以后,jvm ...
随机推荐
- jQuery中的width() innerWidth() outerWidth() outerWidth(true)的区别
width()仅仅包括content(内容) innerWidth()包括content(内容)和padding(补白) outerWidth()包括content(内容),padding(补白)和b ...
- 有利于SEO的DIV+CSS的命名规则
搜索引擎优化(seo)有很多工作要做,其中对代码的优化是一个很关键的步骤.为了更加符合SEO的规范,下面是目前流行的CSS+DIV的命名规则: 页头:header登录条:loginBar标志:logo ...
- 在基于vue的webpack脚手架开发中使用了代理转发,结果浏览器发出的请求中不带cookie导致登录时总是session失效怎么办?
环境: 有2个业务接口需要转发到82的服务器上: ../user/getCode.do ../user/doLogin.do 现象: 使用上述的 ...
- MySQL 常用的sql语句小结(待续)
mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...
- npoi批量导入实现及相关技巧
批量导入功能对于大部分后台系统来说都是不可或缺的一部分,常见的场景-基础数据的录入(部门,用户),用批量导入方便快捷.最近项目需要用到批量导入,决定花点时间写套比较通用的Excel导入功能.经过考虑, ...
- Switch&NAT 测试
测试环境: PC1:Windows10 iperf3 PC2:Ubuntu iperf3 都装有千兆网卡,直连的iperf速度是935Mbps. 因为TXRX两个方向的数据是差不多的,下面的测试数据只 ...
- PlayMaker的应用
PlayMaker属于一个可视化的状态机编辑工具,集成到了Unity的IDE里,在Unity的市场上很受欢迎,本人看见后第一感觉是跟CryEngine的那个状态机特别相似.CE的那个状态机编辑器其实是 ...
- C#线程池使用
bool stop; private void button3_Click(object sender, EventArgs e) { if(button3.Text=="线程池" ...
- Linux任务调度进程crontab的使用方法和注意事项
参考文章:Linux任务调度进程crond命令的使用方法和注意事项 一.crond简介 概念 crond的概念和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系 ...
- Angular双向数据绑定MVVM以及基本模式分析
MVVM: angular的MVVM实现的是双向数据绑定,模型从服务器端抓取到数据,将数据通过控制器(controller)传递到视图(view)显示,视图数据发生变化时同样也会影响到模型数据的变化, ...