关于C++异常处理的心得体会

C++中常见异常现象

  C++自身有着非常强的纠错能力,发展到如今的6.0版本,已经建立了比较完善的异常处理机制。C++的异常情况无非两种,一种是语法错误,即程序中出现了错误的语句,函数,结构和类,致使编译程序无法进行。

另一种是运行时发生的错误,一般与算法有关。

  关于语法错误,不必多说,写代码时心细一点就可以解决。C++完善的报错机制可以让我们轻松地避免这些错误。然而,由于C++软件本身的问题,有时提示的信息并不正确,比如在处理多文件结构程序时,如果遗漏了定义结构段最后的那个分号,系统的提示信息就会引导使用者进入C++软件的内部进行调试。

  运行时的错误也有很多种,常见的有文件打开失败、数组下标溢出、系统内存不足等等。而一旦出现这些问题,引发算法失效、程序运行时无故停止等故障也是常有的。这就要求我们在设计软件算法时要全面。比如针对文件打开失败的情况,保护的方法有很多种,最简单的就是使用“return”命令,强制退出程序。设计一些大型的程序时,运行中一旦出现异常,应该能够跳过错误,继续运行。这就要用到释放资源,退栈等方法,这里就不一一阐述了。

  怎样处理

  面对以上这些情况,我们在编写程序时应做到以下几点:

  首先,培养良好的程序书写习惯,形成良好的程序书写习惯可以有效地避免由于粗心大意造成的语法错误。

  其次,注重程序设计的完善性与缜密性,在设计程序的思路时,应从大局着手,尽可能地考虑所有可能出现的异常情况,以便在前期的设计阶段就加以控制。比如针对数组下标溢出的情况,学习了指针之后,就可以运用动态数组的知识加以解决。

  再次,要养成迅速运用新知识的能力,用新知识解决以往程序中的漏洞,这样许多运行时的错误都可以避免。不断地修改以往编写的程序是一种有效的C++学习方法。

 

 

posted on 2007-11-21 11:20 lovetiffany 阅读(4630) 评论(16)  编辑 收藏 引用

评论

# re: 关于C++异常处理的心得体会 2007-11-21 12:04 路过

编译错误也叫异常?c++6.0版本?  回复  更多评论   

# re: 关于C++异常处理的心得体会 2007-11-21 13:57 www.helpsoff.com.cn

都什么乱七八糟的,一点C++异常都没提到!  回复  更多评论   

# re: 关于C++异常处理的心得体会 2007-11-21 15:20 <a href=http://minidx.com>minidxer</a>

。。。。
看来……人与人之间的理解,的确是不一样的……  回复  更多评论   

# re: 关于C++异常处理的心得体会 2007-11-22 16:07 evoup

shit,waste my time  回复  更多评论   

# re: 关于C++异常处理的心得体会 2007-11-23 22:13 地狱门神

我能说什么呢?  回复  更多评论   

# re: 关于C++异常处理的心得体会 2008-03-14 16:21 xx

hehe  回复  更多评论   

# re: 关于C++异常处理的心得体会 2008-07-11 15:25 十分

太糟糕了^  回复  更多评论   

# re: 关于C++异常处理的心得体会 2008-08-01 17:52 KingsamChen

LZ是那么的强大,内容都是经过无缝加密的~吾等小辈无法从中看出有关异常的内容~  回复  更多评论   

# re: 关于C++异常处理的心得体会 2009-03-04 21:30 孔雀

靠,整个就是一扯淡!  回复  更多评论   

# re: 关于C++异常处理的心得体会 2009-05-27 17:49 eaglet

哈哈,遇到神了  回复  更多评论   

# re: 关于C++异常处理的心得体会 2009-06-10 16:52 111111

好垃圾。。  回复  更多评论   

# re: 关于C++异常处理的心得体会 2009-06-19 18:42 sunnycare

我操,傻逼吗!。。什么鸟东西!  回复  更多评论   

# re: 关于C++异常处理的心得体会 2009-06-30 00:10 mingxin505

神啊,我太崇拜你了.

..  回复  更多评论   

# re: 关于C++异常处理的心得体会[未登录] 2009-12-13 21:50 jack

一点常识也没有,还在这写blog  回复  更多评论   

# re: 关于C++异常处理的心得体会 2010-01-11 16:32 smartvessel

果然扯淡  回复  更多评论   

# re: 关于C++异常处理的心得体会 2010-01-28 15:55 retaw

C++6.0???
这是哪跟哪啊????  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(4)

随笔档案

网站收藏

搜索

最新评论

阅读排行榜

评论排行榜