文章类型: VC&C++
关键词: VC2015,MFC,CException,不能实例化抽象类
内容摘要: VC2015的MFC中“CException”: 不能实例化抽象类

VC2015的MFC中“CException”: 不能实例化抽象类

2016/8/11 9:28:13    来源:apple    阅读:

有时候程序在VC6.0中运行是正常的,但是用VS2008打开时会出现 CException不能实例化抽象类的问题。这是由于VC6.0 与VS2008对于CException类的定义不同。

解决方案:

MFC较好地将异常封装到CException类及其派生类中,自成体系,下表给出了MFC 提供的预定义异常:

异常类

含义

CMemoryException

内存不足

CFileException

文件异常

CArchiveException

存档/序列化异常

CNotSupportedException

响应对不支持服务的请求

CResourceException

Windows 资源分配异常

CDaoException

数据库异常(DAO 类)

CDBException

数据库异常(ODBC 类)

COleException

OLE 异常

COleDispatchException

调度(自动化)异常

CUserException

用消息框警告用户然后引发一般 CException 的异常

所以只要把上面的CException与异常类相对应的就行!!!比如文件异常,改成CFileException就行!!!


可以使用下面的代码进行异常捕获:

try
{
}
catch (CMemoryException* e)
{
    e->ReportError();
}
catch (CFileException* e)
{
    e->ReportError();
}
catch (CException* e)
{
    e->ReportError();
}


注意需要保护头文件,#include <afxdao.h>

↑ 上一篇文章:VC:当前不会命中断点,还没有为该文档加载任何符号 关键词:VC,当前不会命中断点,还没有为,加载任何符号 发布日期:2016/8/11 9:23:25
↓ 下一篇文章:VS2015代码调试:如何避免调试时加载符号 关键词:去掉,vs,正在从以下位置加载,取消将禁用后续符号加载,.. 发布日期:2016/8/12 11:40:28
相关文章:
VS高版本中的MFC中“CException”: 不能实例化抽象类 关键词:VS2010,MFC,CException,不能实例化抽象类 发布日期:2016-08-04 15:38
VC在Release出现fatal error C1189:Building MFC application with /MD[d] (CRT dll version) 关键词:VC2015,Release,#error,Building,MFC,application,w.. 发布日期:2018-10-10 14:08
VS2015下的MFC工程由于MFC库使用方式与运行时库不一致引起的编译问题 关键词:VC2015,Release,#error,MFC工程的MFC库使用方式与运行时库不一致引起的编.. 发布日期:2018-10-10 14:33
相关目录:.NETVC&C++软件开发
我要评论
正在加载评论信息......