• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 浅谈C++函数声明后面加throw()的作用(必看)

浅谈C++函数声明后面加throw()的作用(必看)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++ throw,throw,throw是什么意思,throw away,throw的过去式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

问题描述:

C++里面为什么有时候在函数声明的时候在后面加throw()关键字?


解释:

C++函数后面加关键字throw(something)限制,是对这个函数的异常安全作出限制;这是一种异常规范,只会出现在声明函数时,表示这个函数可能抛出任何类型的异常。


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

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

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


举例说明:

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()函数,退出程序。

void GetTag() throw();  假如你加一个throw()属性到你的永远不会抛出异常的函数中,编译器会非常聪明的知道代码的意图和决定优化方式。

以上就是小编为大家带来的浅谈C++函数声明后面加throw()的作用(必看)全部内容了,希望大家多多支持~

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈C++函数声明后面加throw()的作用(必看)
  • C++中异常处理的基本思想及throw语句抛出异常的使用
  • 解析C++编程中异常相关的堆栈展开和throw()异常规范
  • C++编程异常处理中try和throw以及catch语句的用法

相关文章

  • 2017-05-28C++设计模式之简单工厂模式实例
  • 2017-05-28C语言的Struct Hack笔记
  • 2017-09-06c算法:区间树
  • 2017-05-28简要解读C++的动态和静态关联以及虚析构函数
  • 2017-05-28C++ 将文件数据一次性加载进内存实例代码
  • 2017-05-28C语言中求余弦值的相关函数总结
  • 2017-05-28浅析C++编程当中的线程
  • 2017-05-28C++ Template应用详解
  • 2017-05-28C语言对栈的实现基本操作
  • 2017-05-28C++在C语言基础之上增强的几个实用特性总结

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 高效实现整型数字转字符串int2str的方法
    • 探讨:用两个栈实现一个队列(我作为面试官的小结)
    • C++ 关于MFC List Control 控件的总结
    • 归并排序的递归实现与非递归实现代码
    • C++中给二维指针分配内存(实现代码)
    • C++实现打印两个有序链表公共部分的方法
    • C语言实现计算树的深度的方法
    • c++中数字与字符串之间的转换方法(推荐)
    • 基于C语言实现的贪吃蛇游戏完整实例代码
    • C++形参与实参的区别实例解析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有