社区
C++ 语言
帖子详情
catch(CException e)捕获异常 不能实例化抽象类
qq_36141011
2016-09-14 06:35:35
try
{
if (JpegApplicability(filePath)==true)
AfxMessageBox("该图像适合隐写!");
else
AfxMessageBox("该图像不适合隐写!");
}
catch(CException e)
{
AfxMessageBox("读取文件错误!");
};
运行后显示error C2259: “CException”: 不能实例化抽象类
请问怎么解决?
...全文
329
4
打赏
收藏
catch(CException e)捕获异常 不能实例化抽象类
try { if (JpegApplicability(filePath)==true) AfxMessageBox("该图像适合隐写!"); else AfxMessageBox("该图像不适合隐写!"); } catch(CException e) { AfxMessageBox("读取文件错误!"); }; 运行后显示error C2259: “CException”: 不能实例化抽象类 请问怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小灸舞
2016-09-15
打赏
举报
回复
VS2003之后的版本中,CException的定义与VC++6.0中不同。用一个CException派生类代替CException。 MFC较好地将异常封装到CException类及其派生类中,自成体系,下表给出了MFC 提供的预定义异常: CMemoryException:内存不足 CFileException:文件异常 CArchiveException:存档/序列化异常 CNotSupportedException:响应对不支持服务的请求 CResourceException:Windows 资源分配异常 CDaoException:数据库异常(DAO 类) CDBException:数据库异常(ODBC 类) COleException:OLE 异常 COleDispatchException:调度(自动化)异常 CUserException:用消息框警告用户然后引发一般 CException 的异常 所以只要把上面的CException与异常类相对应的.比如文件异常,改成CFileException. 代码中采用将所有的CException改成了CFileException
paschen
版主
2016-09-14
打赏
举报
回复
应该使用其派生类,如:CFileException CMemoryException
paschen
版主
2016-09-14
打赏
举报
回复
CException是一个抽象类,而抽象类不允许有对象
paschen
版主
2016-09-14
打赏
举报
回复
改成catch (CException& e)呢
VS2013打开老版本的VC++6.0遇到错误:“C
Exception
”:
不能
实例化
抽象类
说明:工程在vc6++6.0编译通过,在2013版本中出现“C
Exception
”:
不能
实例化
抽象类
的错误。 VS2003之后的版本中,C
Exception
的定义与VC++6.0中不同。用一个C
Exception
派生类代替C
Exception
。CDib中把“throw new C
Exception
”中的C
Exception
改为CFile
Exception
就可以了。
(7)
抽象类
、接口、多态、内部类(匿名内部类)、
异常
(自定义
异常
)
1.
抽象类
中可以没有抽象方法,但有抽象方法的类一定是
抽象类
。 2.接口中成员的定义规则 interface InterDemo{ public static final int Num=4; public abstract void show(); } 接口中只能定义public static final全局常量和和public abstract抽象方法,publ
Exception
异常
类
Java 中定义了很多
异常
类,每个
异常
类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。Java 的
异常
类都是java.lang.Trowable 的子类。它派生了两个子类:Error(错误)和
Exception
(违例)。其中Error 类,由系统保留;而
Exception
类则供应用程序使用。其中: Error:JVM 系统内部错误、资源耗尽等严重情况,由系统保留;
Exception
:其他因编程错误或偶然的外在因素导致的一般性问题,例如:对负数开平方根;空指针访问;试图读取不存
第九章
异常
处理总结
由于
Exception
是所有
异常
类的父类,如果将
cat
ch
(
Exception
e)语句块放在其他两个语句块的前面,后面的语句块将永远得不到执行,也就没有什么意义了,所以
cat
ch
语句的顺序不可调换。有许多
异常
的例子,如数组溢出等。在例题9.3中,将可能出现
异常
的代码用try-
cat
ch
语句块进行处理,当try语句块的语句发生
异常
时,程序就会跳转到
cat
ch
语句块中执行,执行完
cat
ch
语句块的程序代码后,将继续执行
cat
ch
语句块后的其他代码,而不会执行try语句块中发生
异常
语句后面的代码。
try
cat
ch
原文: http://gcclife.blog.163.com/blog/static/1816971332011523113035245/ 函数后面的 throw 分三种: 1. throw() 表示这个函数不会抛出
异常
。注意这个是“不会”。 2. throw(...) 表示这个函数可能会抛出
异常
。 3. throw( type ) 表示这个函数可能会抛出指定类
C++ 语言
64,666
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章