【1】为什么函数后面加throw关键字?

C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制。

举例及解释如下:

void fun() throw() 表示fun不允许抛出任何异常,即fun是异常安全的。

void fun() throw(...) 表示fun可以抛出任何形式的异常。

void fun() throw(exceptionType) 表示fun只能抛出exceptionType类型的异常。

还不明白吗?看这个解释(一个形象笑话):

throw()   大概会说:“噢,不管你抛什么,就是不准抛。”

throw(...)   呵呵一笑,满脸慈祥:“抛吧抛吧,尽情地抛吧。”

throw(type)   一听急了:“那可不行,要抛也只能抛我的香烟头,否则要是不小心把俺祖传的金戒指抛掉就太亏了。”

尤其注意这是异常规范,只会出现在声明函数中,表示这个函数可能抛出任何类型的异常。

void GetTag() throw(int); 表示只抛出int类型异常

void GetTag() throw(int,char); 表示抛出in,char类型异常

void GetTag() throw(); 表示不会抛出任何类型异常

void GetTag() throw(...); 表示抛出任何类型异常

那么,void GetTag() throw(int); 表示只抛出int类型异常  这句解释怎么理解呢?

并不表示一定会抛出异常,但是一旦抛出异常只会抛出int类型。

如果抛出非int类型异常,调用unexsetpion()函数,退出程序。

Good Good Study, Day Day Up.

顺序  选择  循环  总结

java 函数参数后加throw_函数后面加throw关键字相关推荐

  1. C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)

    每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...

  2. 习题 9.5 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。

    C++程序设计(第三版) 谭浩强 习题9.5 个人设计 习题 9.5 建立一个对象数组,内放5个学生的数据(学号.成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成 ...

  3. java中参数存储_Java中函数参数传递和数据存储

    值传递是将要传递的值作为一副本传递的.. 引用传递,传递的是引用对象的内存地址.. 例如: int i=4; int j=i;   //相当于把4复制了一个副本赋给了j 输出结果是i=4 ,j=4 C ...

  4. 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )

    文章目录 一.Java 中函数参数是接口类型 二.函数参数是接口类型 可以 直接传递闭包 三.完整代码示例 一.Java 中函数参数是接口类型 在 Android 中经常使用如下形式的接口 : 定义一 ...

  5. java调用js匿名函数参数,js中匿名函数和回调函数

    匿名函数: 通过这种方式定义的函数:(没有名字的函数) 作用:当它不被赋值给变量单独使用的时候 1.将匿名函数作为参数传递给其他函数 2.定义某个匿名函数来执行某些一次性任务 var f = func ...

  6. python函数参数定义顺序_Python函数定义-位置参数-返回值

    原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...

  7. “引用作为函数参数”与 “引用作为函数返回值”

    一.引用作为函数参数 作为函数参数时引用有两种原因: 1.在函数内部会对此参数进行修改:2.提高函数调用和运行效率. 关于第一点,都知道C++里提到函数就会提到形参和实参.如果函数的参数实质就是形参, ...

  8. go 函数参数nil_go内置函数make

    go内置函数make主要用于创建map, slice, chan等数据结构.下面简要分析下编译器对于make的处理过程. 一 内置函数的定义 universe.go源文件定义了go内置函数列表,Mai ...

  9. [课程视频]指针、引用、函数参数、内联函数等

    今天气温低.风大,我穿一个略正式的T恤衫.一条大短裤和人字拖在办公室里录制最新一期课程视频.反正拍不到下半身,所以下半身衣着随意我面向的录制环境如下图,我背后是一个绿幕.设备由广东省教学改革项目资金提 ...

  10. python函数参数为列表_python函数中把列表(list)当参数时的入坑与出坑

    在Python函数中,传递的参数如果默认有一个为 列表(list),那么就要注意了,此处有坑. 入坑 挖坑 def f(x,li=[]): for i in range(x): li.append(i ...

最新文章

  1. 网络工程师学Linux 必须掌握命令
  2. 计算首站到末站最小费用
  3. 题目2:隐式图的搜索问题(A*算法解决八数码)
  4. Spring中ApplicationContextAware的用法
  5. @autowired注解 抽象类_别再用ifelse了,用注解去代替他吧
  6. Java Nashorn--Part 1
  7. spring freemarker 获取后端的值
  8. 浏览器与node事件循环
  9. Atitit. atiOrder   Order 订单管理框架的设计
  10. E001检测到您的环境不支持HTML5,艾默生变频器常见故障及解决方法
  11. 计算机怎么算平均分公式,平均分怎么算
  12. 软件测试工具大全(这可能是目前为止最全的测试工具集合)
  13. 性能测试、操作系统优化对性能测试的影响,以及如何优化操作系统
  14. QGIS:创建矢量图层
  15. DCloud Native.js示例汇总
  16. 个人feedly订阅源分享
  17. 网上购车平台蛋蛋订车上私户兴起,与汽车之家联合开展青少年嘉年华
  18. 二叉树如何求两个叶节点的最近公共祖先--re
  19. 2021中石油程序设计平台新生热身赛7-挨打记录2021/11/29
  20. 【莫言语录】莫言说过的经典语录摘记

热门文章

  1. HTML5+CSS3教程1
  2. 清理linux 系统内存缓存
  3. 在 Microsoft Visual Studio Team System 和 Microsoft Visual SourceSafe 之间选择
  4. 读取图片信息并存储数据为CSV文件
  5. 考研小作文真题、范文及讲解
  6. Chrome忽略网站证书错误
  7. MD5校验判断文件是否一样
  8. matlab 正交多项式,求助~Matlab关于正交多项式
  9. Opengl glm配置出错
  10. 【javaWeb微服务架构项目——乐优商城day14】——购物车(实现未登录状态的购物车,实现登陆状态下的购物车,实现未登录状态的购物车合并到登录状态)