双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

C++抛出异常错误

GK_2014 GK_2014 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
编译器提示:error C2700: 'class GPError' : cannot be thrown (use -W4 for more in)
简单描述下我的问题,还请各位大牛帮忙看看。
由于想做一个动态库,所以类的前面加了AFX_EXT_CLASS 。
我定义了一个GPError'类,用来处理异常,由于代码有点多,所以省略了一些代码,只贴部分关键部分,见谅。
class AFX_EXT_CLASS GPError : public CException  
{
DECLARE_SERIAL(GPError)
public:
GPError(LPCTSTR lpszClassName=NULL,
ERRORCODE nError=USER_DEFINED,
Number nReason=0,
LPCTSTR lpszMessage=NULL);
protected:
CHAR * className; ///< 错误来源类名
const ERRORCODE error; ///< 错误类型
CHAR * message; ///< 错误信息描述
CHAR * name; ///< GPError异常标识
const Number reason; ///< 错误原因
};


然后我定义了另外一个类,其中这个成员函数用来抛出异常,部分代码已省略
class AFX_EXT_CLASS KeyHost_0902 : public KeyHostInterface
{
public:
void ThrowError(LPCTSTR lpszClassName, GPError::ERRORCODE nError, Number nReason, LPCTSTR lpszMessage);


这个成员函数的实现部分如下:
void KeyHost_0902::ThrowError(LPCTSTR lpszClassName, 
GPError::ERRORCODE nError,
Number nReason,
LPCTSTR lpszMessage)
{
throw GPError(lpszClassName, nError, nReason, lpszMessage);
}


运行之后就报上述错误,是我的GPError 类有问题吗?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
GK_2014
C++ 语言 65,214 成员 250,514 内容