#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class MyException
{
public:void printError(){cout << "我自己的异常类的错误" << endl;}
};class Person
{
public:Person(){cout << "Person的构造函数" << endl;}~Person(){cout << "Person的析构函数" << endl;}};int myDivide(int a , int b)
{if ( b == 0){//return -1; //C语言处理异常缺陷在于  返回的值 没有统一,返回的值可以是异常的结果,也可以是正确的结果//抛出异常//throw 1;//throw 3.14;//throw 'a';//栈解旋: 从try代码块开始起,到 throw抛出异常前,所有栈上的对象都被释放掉,//        释放的顺序和构造的顺序是相反的,这个过程称为栈解旋Person p1;Person p2;throw MyException(); //抛出一个 MyException 匿名对象}return a / b;}void test01()
{int a = 10;int b = 0;//尝试执行一段 可能会出现异常的代码try{int ret = myDivide(a, b);cout << "ret 结果为: " << ret << endl;}catch (int ) //捕获异常{cout << "int类型的异常的捕获" << endl;}catch (double) {//捕获到double后 不想处理这个异常,想继续向上抛出这个异常throw;cout << "double类型的异常的捕获" << endl;}catch (MyException e){e.printError();}catch (...){cout << "其他类型异常的捕获" << endl;}}int main(){try{test01();}catch (int) //异常必须有人要处理,如果没有任何的处理,程序会自动调用一个terminate函数,让程序中断掉{cout << "main函数中的 int类型的异常的捕获" << endl;}catch (...){cout << "mian函数中的 其他类型异常的捕获" << endl;}system("pause");return EXIT_SUCCESS;
}

2异常的基本语法
2.1三个关键字 try throw catch
2.2try 试图执行一段可能会出现异常的代码
2.3throw出现异常后 抛出异常的关键字 throw + 类型
2.4catch 捕获异常 catch(类型)
2.5如果想捕获其他类型的异常 catch( … )
2.6如果捕获到的异常不想处理,想继续向上抛出 throw
2.7异常必须要有人处理,如果没有处理,程序会自动调用 terminate函数,使程序中断
2.8可以抛出一个自定义类型的异常 myException

C++ 异常基本语法相关推荐

  1. Java中switch参数传null会引起异常——Java 语法糖

    问题 switch 参数不能是null,swicth(null)会报java.lang.NullPointerException异常 查找原因 为什么会这样呢,查找一下原因: 找到编译后的class文 ...

  2. [转贴] 从零开始学C++之异常(二):程序错误、异常(语法、抛出、捕获、传播)、栈展开...

    一.程序错误 编译错误,即语法错误.程序就无法被生成运行代码. 运行时错误 不可预料的逻辑错误 可以预料的运行异常 例如: 动态分配空间时可能不会成功 打开文件可能会失败 除法运算时分母可能为0 整数 ...

  3. java 语法错误_java菜鸟提问:编译时异常和语法错误的区别?

    语法错误是你真写错了,比如"All the people here work hardly."这句话就是语法错误,hard也可用作副词,所以"All the people ...

  4. javascript 异常基本语法

    http://www.w3school.com.cn/js/js_onerror.asp try...catch 的作用是测试代码中的错误.   JavaScript - 捕获错误 当我们在网上冲浪时 ...

  5. python中语法错误-Python3 错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  6. python3语法错误-Python3 错误和异常

    错误和异常 程序运行时有两种可以分辨的错误: syntax error 和 exception , 按中文来说, 就是语法错误和异常. 语法错误 语法错误也就是解析错误,是我们最优可能遇到的错误. w ...

  7. python语法报错_Python语法的常见错误和处理异常

    在学习Python的过程中,一定会遇到很多困难,我相信很多时候的,报错就会是让人抓狂,一个好的程序员最主要的特质,就是处理错误的能力.在面对每次遇到的问题,要多总结多做笔记,争取下次避免犯同样的错误, ...

  8. python 语法错误 和异常_Python基础知识:新手学Python时常见的语法错误和异常

    大家好,今天我们简单介绍下在学习Python时常见的一些错误和异常. 记得刚接触Python的时候,一条简单的语句在执行的时候却总能遇到报错.然后各种艰难的复查发现可能是循环语句缺少冒号啊.用了中文的 ...

  9. python中的异常(try...except...else...finally)

    1. 什么是异常         当检测到⼀个错误时,解释器就⽆法继续执⾏了,反⽽出现了⼀些错误的提示,这就是所谓的"异常". 例如:以 r ⽅式打开⼀个不存在的⽂件. open( ...

最新文章

  1. redis缓存失效时间设为多少_java操作Redis缓存设置过期时间的方法
  2. setwindowpos怎么改变z序_置顶窗口SetWindowPos()的用法
  3. 恢复错误:\anaconda3\lib\site-packages\zmq\backend\cffi\__pycache__\_cffi_ext.c(266)
  4. 智能机器人热点技术大揭秘!
  5. python数据结构-如何统计序列中元素的频度
  6. 鲨鱼 抓包 oracle,抓包工具wireshark的操作使用
  7. SwiftGen管理UIImage等的String-based接口
  8. node.js打开指定浏览器的四种方式
  9. python入门安装
  10. 航空三字代码表_航空公司三字代码表
  11. 支付宝免签在线支付要饭教程
  12. 三星固态sm863,pm863,sm865,sm865a颗粒
  13. 谈谈如何快乐地工作(上班),以及如何评价一个人的层次
  14. Form表单的重置按钮(type=“reset“)无法重置隐藏Input输入框的值
  15. 丹佛机场行李系统没能及时交工的原因
  16. linux系统开机自动锁定键盘,设置linux开机启动小键盘的详细教程设置linux开机启动小键盘的图文教程...
  17. JAVA对excle创建、读取、设置单元格颜色、背景色、跨行跨列
  18. 美国国土安全部部长约翰逊就Dyn网络攻击事件发表声明
  19. 不可不知的JavaScript面向对象
  20. 学习(微信小程序 开发入门及案例详解 --李骏,边思编著)

热门文章

  1. openocd安装与调试
  2. mock接口开发,excel(读,写,修改)
  3. 安装openstack时遇到的错误
  4. poj 3728(LCA + dp)
  5. 远程工作时的协作工具
  6. 【Unity】Update()和FixedUpdate()
  7. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2
  8. springboot干什么的_Spring Boot 项目的这些文件都是干啥用的?
  9. vcpkg安装_微软牌包管理器vcpkg更新及路线图计划
  10. 怎么用pycharm更新python_利用PyCharm操作Github(仓库新建、更新,代码回滚)