c++可以通过throw语句和try...catch语句实现对异常的处理。

#include <iostream>using namespace std;int main()
{double m ,n;cin >> m >> n;try {if( n == 0)throw 1; //抛出int类型异常elsecout << m / n << endl;}catch(double d) {cout << "catch(double) " << d <<  endl;}catch(int e) {cout << "catch(int) " << e << endl;}catch (...) {cout << "catch (...)" << endl;}cout << "finished" << endl;return 0;
}

编译运行,当输入除数为0时就会抛出异常。

4 0
catch(int) 1
finished

如将throw 1换成throw 0.1就会走到catch(double d)对应的分支,换成throw "12"就会走到catch (...)对应的分支。

参考资料:http://c.biancheng.net/view/422.html

c++ try...catch异常处理相关推荐

  1. 浅谈Java throw, throws, try catch异常处理

    2019独角兽企业重金招聘Python工程师标准>>> 1.throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果 ...

  2. SqlServer中常见的语法运用Begin...End\IF条件语句\IF Exists条件语句检测数据是否存在\While循环语句\Case语句执行分之判断\Try...Catch异常处理

    Begin...End Begin...End 是主要用来控制程序块语句中的批处理 语法: Begin {代码块} End 例: go declare @name varchar(50) declar ...

  3. 一个存储过程帮你了解 事务(TRAN)、异常处理(TRY/CATCH)、@@ERROR

    /*  事务:begin transaction开始事务 . commit transaction 提交事务.  rollback transaction 回滚事务. SAVE TRAN 保存事务从本 ...

  4. 存储过程--异常处理机制(Begin try Begin Catch)

    一.存储过程使用 try-catch异常处理 1.TRY 块以 BEGIN TRY 语句开头,以 END TRY 语句结尾.在 BEGIN TRY 和 END TRY 语句之间可以指定一个或多个 Tr ...

  5. C++ 异常处理(try catch)

    在任何一门语言中都有异常的解释,这里就不做介绍了. C++ 异常处理机制会涉及 try.catch.throw 三个关键字. 程序错误 程序的错误大致可以分为三种,分别是语法错误.逻辑错误和运行时错误 ...

  6. 2021年大数据常用语言Scala(三十四):scala高级用法 异常处理

    目录 异常处理 捕获异常 抛出异常 异常处理 Scala中 无需在方法上声明异常 来看看下面一段代码. def main(args: Array[String]): Unit = {val i = 1 ...

  7. [c#基础]关于try...catch最常见的笔试题

    引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

  8. asp.net 在使用Response.Redirect try{}catch{}块失效

    try { - Response.Redirect("/mymaimai.aspx"); - } catch (Exception e) { // 异常处理 } 使用以上语句,不管 ...

  9. C++ (14) 异常处理

    程序常见的错误 语法错误/编译错误:比如关键字拼写错误,变量名未定义,语句末尾缺少分好,括号不匹配,不能找到头文件...... 运行错误/:程序在运行过程中出现错误:例如除数为零,访问地址非法,输入数 ...

最新文章

  1. android 生成随机不相同的数
  2. sbt配置nexus仓库
  3. [jqpolt] formatString 日期格式化列表
  4. C#CodeSmith代码批量生成模板制作经验分享
  5. (chap7 确保WEB安全的HTTPS) HTTPS和SSL
  6. python用import xlwt出现红字_如何用python处理excel
  7. android model 设计,Android model层设计
  8. inner join on 加条件和where加条件_图解 SQL 中各种连接 JOIN
  9. Lesson 3.1 - Python Core Data Types
  10. Linux基础——怎么样从手机 (Android安卓/IOS苹果) 通过 SSH 远程 Linux
  11. 洛谷3067 BZOJ 2679题解(折半搜索)
  12. CMU 15-213 Introduction to Computer Systems学习笔记(13) Exceptional Control Flow: Exceptions and Process
  13. CH0805 防线 二分
  14. Unity3D开发之----将预设体Prefab压缩成AssetBundle文件
  15. 【TWVRP】粒子群算法求解带时间窗的车辆路径规划问题【含Matlab源码 334期】
  16. 定义char dog[]=wang\0miao;那么sizeof(dog)与strlen(dog)分别是多少:
  17. 1.2帮助软件Rstudio的下载与安装
  18. 小米电脑桌面没见计算机怎么办,手机屏幕太小?一分钟教会你小米手机投屏电脑方法,低调收藏!...
  19. sns.regplot 和 sns.distplot你知道多少
  20. 红米手机1 升级到android5,从小米MAX 1到红米 K20 pro的“升级”之路。

热门文章

  1. 【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )
  2. PHP将英文数字转换为阿拉伯数字 
  3. python学习Day14 带参装饰器、可迭代对象、迭代器对象、for 迭代器工作原理、枚举对象、生成器及生成表达式...
  4. 秀秀的森林(forest)
  5. 客户端与服务器cookie
  6. [Android]动态加载/热部署框架汇总
  7. (转)fastcgi简介
  8. 课程名称翻译大全(zz)
  9. 携程CEO称成功来自传统营销 B2C已经过时
  10. 汇编实验:屏幕窗口程序(代码有较为详细的注释)