社区
C++ 语言
帖子详情
关于c++里面的错误和异常的一个理解!
pengzhixi
2009-07-10 05:53:18
好像c++里面对错误和异常没给出一个很明显的区分!所以想听听各位大牛的理解!!
...全文
77
27
打赏
收藏
关于c++里面的错误和异常的一个理解!
好像c++里面对错误和异常没给出一个很明显的区分!所以想听听各位大牛的理解!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzh9955
2009-07-14
打赏
举报
回复
本来这种语言就存在难以理解的方面
huizhouxueyuan
2009-07-14
打赏
举报
回复
有个老师告诉我,exception 不应该理解成 “异常”, 而应该是 “例外”
mengjfu
2009-07-13
打赏
举报
回复
错误在编译时出现
异常在执行是出现
个人观点!
ztenv
版主
2009-07-13
打赏
举报
回复
个人感觉C++中的异常和错误区别不大,有些错误在编译的时候是检查不出来的,比如:两个变量相除,如果除数在你输入的过程中为0,那么是需要你自己判断的;
这样以来,感觉C++异常处理其实很麻烦(比如:我在读一个文件的时候,对所读的文件有很多规则:文件名命名方式,后缀名,编码方式,文件的格式等有很多要求,在我真正证一个文件的时候,要一个一个的去判断是否正确,要写很多的if或用一个循环来判断);
不知道C++的牛人们是如何处理异常的;学习中。。。。。。
gunsand
2009-07-13
打赏
举报
回复
看情况了。我只是偶尔用下异常处理。
lingyin55
2009-07-13
打赏
举报
回复
楼主参考下这个帖子的讨论
http://topic.csdn.net/t/20041010/09/3439259.html
hiboys
2009-07-13
打赏
举报
回复
要区分吗?
想想c语言中的错误吧。它是没有异常的
c++把大部分错误封装成异常了。给你个错误处理机会。有问题的程序可以“体面”退出了。
yangf1983
2009-07-13
打赏
举报
回复
2楼的解释的很清晰了
ysysbaobei
2009-07-11
打赏
举报
回复
顶下
steven_007
2009-07-11
打赏
举报
回复
个人理解异常是由于程序出错引起的。异常就是处理这种错误。
lambert_s
2009-07-11
打赏
举报
回复
个人理解:异常时程序运行中的不可预料的操作失败,比如申请内存失败。使用异常是为了发生这些异常时能让程序保持正常运行。
而错误就是编程时出现的问题。一般程序运行时发生错误是很严重的,在编程时就要避免错误的产生,而异常不能完全避免。
ToBeTough
2009-07-11
打赏
举报
回复
up
jzd8000
2009-07-11
打赏
举报
回复
可以避免的是错误。
只能完善的是异常。
(个人理解)
caremsi
2009-07-11
打赏
举报
回复
好帖
lzh9955
2009-07-10
打赏
举报
回复
关注!
zzcmx2008
2009-07-10
打赏
举报
回复
异常可以捕捉,错误可以在编译连接的时候由编译器给出。
Walf_ghoul
2009-07-10
打赏
举报
回复
[Quote=引用 10 楼 pengzhixi 的回复:]
帖子沉得太快了。
[/Quote]
帮顶下。。
pengzhixi
2009-07-10
打赏
举报
回复
帖子沉得太快了。
fairchild811
2009-07-10
打赏
举报
回复
区别在于错误是可以预见到并且知道如何处理的情况而异常是指出错了但不知如何去处理的情况。或者说:如果知道出错后该怎么处理就可以直接处理该错误,否则就将其作为一个异常抛出(在知道如何处理地方捕捉该异常然后进行处理)。
c++异常相对返回错误码的优点:
1. 可以强制对该错误进行处理,如果不处理则程序coredump
2. 可以从内层嵌套中直接跳出
3. 代码更简洁
4。会进行堆栈解退
缺点:
1。增加一定的开销
2。破坏的程序的结构性。
3。要正确使用异常机制不太容易,有很多需要小心的地方
pengzhixi
2009-07-10
打赏
举报
回复
[Quote=引用 7 楼 findcsdn 的回复:]
错误有时候可以转化为异常,比如空指针错误,可以通过异常捕获的。
[/Quote]
我同意这种说法,只不过有的时候,大多数错误应该是我们自己去避免而非转换成异常去捕获!
加载更多回复(7)
C++
编程实例100篇
继承允许
一个
类(子类)从另
一个
类(父类)继承属性和方法,实现代码重用;多态则允许不同的对象对同一消息做出不同的响应,增强了程序的灵活性。 函数是
C++
中的可重用代码块,可以接受参数并返回值。
理解
函数的...
C/
C++
面试宝典大全
模板和泛型编程是
C++
的另
一个
重要特性,它们允许编写通用代码,提高代码复用性。模板可以用于创建函数模板和类模板,而STL(Standard Template Library,标准模板库)就是基于模板实现的,包含容器(如vector、list...
c/
c++
中文帮助文档(API)
本资源“c/
c++
中文帮助文档(API)”为开发者提供了
一个
全面的参考,帮助他们
理解
和使用C和
C++
的各种库函数。 C库函数主要包括I/O操作、内存管理、字符串处理、数学运算、时间日期处理等。例如,`stdio.h`提供了...
C++
高级参考手册.rar
2. **STL(标准模板库)**:STL是
C++
中的
一个
核心组件,包含容器(如vector、list、set、map等)、迭代器、算法和函数对象。它提供了高效的数据结构和操作这些结构的方法,大大简化了代码并提高了性能。 3. **
异常
...
C/
C++
参考手册大全5本集合.chm
《C/
C++
参考手册大全5本集合》是
一个
包含丰富的C和
C++
编程资源的压缩包,其中涵盖了C-
C++
函数手册、
C++
API大全、C参考手册、C函数查询以及C语言库函数速查手册等多个实用文档。这些手册是程序员在学习和工作中不可...
C++ 语言
65,189
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章