QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1171|回复: 10

请问__THROW代表什么意思?

[复制链接]
发表于 2004-7-22 15:24:25 | 显示全部楼层 |阅读模式
经常看到__THROW跟在某个函数声明后面,请问他代表什么 ?
发表于 2004-7-22 19:43:47 | 显示全部楼层
在哪儿看到的、什么语言?有没有 #define _THROW throw()?
回复

使用道具 举报

 楼主| 发表于 2004-7-23 08:49:44 | 显示全部楼层
就是普通的c语言,很多头文件中都有,比方说系统中的fenv.h中,grp.h中等等.
例如:grp.h中的 extern struct group *getgrgid (__gid_t __gid) __THROW;
在一个函数声明的后面加的,我不大明白?谢谢指导!
回复

使用道具 举报

发表于 2004-7-23 11:12:23 | 显示全部楼层
Java中也有throw? 难道是异常?
回复

使用道具 举报

发表于 2004-7-23 16:35:31 | 显示全部楼层
应该是一个宏吧
回复

使用道具 举报

 楼主| 发表于 2004-7-23 21:21:43 | 显示全部楼层
有什么可以放在一个函数声明的后面,分号的前面的呢?什么东西可以这样呢?我还是不明白,请举个例子吧!谢了!
回复

使用道具 举报

发表于 2004-7-23 21:38:28 | 显示全部楼层
throw?  我记得是错误抛出   不过从来没用过
回复

使用道具 举报

 楼主| 发表于 2004-7-24 09:02:53 | 显示全部楼层
我的意思是怎么可以这样用,想请大家举个例子,错误抛出可以放在这个位置吗?我没见过呀!
回复

使用道具 举报

发表于 2004-7-24 14:31:31 | 显示全部楼层
[quote:8b5344b57c="sagaeon"]在哪儿看到的、什么语言?有没有 #define _THROW throw()?[/quote]
请楼主再自己查查。
这是c++语法,叫异常规范。throw()没有参数说明该函数不会抛出任何异常。如果有参数如  throw(String) 说明只能抛出 String类型的异常。
java中throw也是抛出异常。
回复

使用道具 举报

 楼主| 发表于 2004-7-25 09:21:58 | 显示全部楼层
查到了,果真是这样,谢谢了
回复

使用道具 举报

发表于 2004-7-25 13:27:26 | 显示全部楼层
还有更重要的[code:1]# if defined __cplusplus && (__GNUC__ >= 3 || __GNUC_MINOR__ >= 8)
#  define __THROW        throw ()
# else
#  define __THROW
# endif[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 21:13 , Processed in 0.046516 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表