C语言中的异常处理
来源:互联网 发布:淘宝差价一元拍 编辑:程序博客网 时间:2024/05/01 09:47
原文:http://www.cnblogs.com/vimsk/archive/2010/12/11/1901698.html
一 前言:
异常处理,对于做面向对象开发的开发者来说是再熟悉不过了,例如在C#中有
try
{
...
}
catch( Exception e){...}
finally{
.....
}
在C++中,我们常常会使用
try{}
...
catch(){}
块来进行异常处理。
说了那么多,那么到底什么是异常处理呢?
异常处理(又称为错误处理)功能提供了处理程序运行时出现的任何意外或异常情况的方法。
异常处理一般有两种模型,一种是"终止模型",一种是"恢复模型"
"终止模型":在这种模型中,将假设错误非常关键,将以致于程序无法返回到异常发生的地方继续执行.一旦异常被抛出,就表明错误已无法挽回,也不能回来继续执行.
"恢复模型":异常处理程序的工作是修正错误,然后重新尝试调动出问题的方法,并认为的二次能成功. 对于恢复模型,通常希望异常被处理之后能继续执行程序.在这种情况下,抛出异常更像是对方法的调用--可以在Java里用这种方法进行配置,以得到类似恢复的行为.(也就是说,不是抛出异常,而是调用方法修正错误.)或者,把try块放在while循环里,这样就可以不断的进入try块,直到得到满意的结果.
二 面向对象中的异常处理
大致了解了什么是异常处理后,由于异常处理在面向对象语言中使用的比较普遍,我们就先以C++为例,做一个关于异常处理的简单例子:
问题:求两个数相除的结果。
这里,隐藏这一个错误,那就是当除数为0时,会出现,所以,我们得使用异常处理来捕捉这个异常,并抛出异常信息。
具体看代码:
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理机制
- C语言中的异常处理机制
- C语言中的异常处理机制
- C语言中的异常处理机制
- C语言中的异常处理机制
- C语言异常处理
- C语言异常处理
- 异常处理---C语言
- c#中的异常处理
- C语言中的异常
- c语言中的异常处理,setjmp 与 longjmp函数
- Linux中用编译的Zlib库替换系统自带的
- 无线网络总结
- YUV RGB 常见视频格式解析
- 工作Task1
- API-Arrays
- C语言中的异常处理
- 内部类
- Nginx + CGI/FastCGI + C/Cpp
- hdu1026(linxingqiangglai)
- 封装.this.static关键字 以及math类
- matlab echo 的用法
- ubuntu下修改终端命令输入行颜色配置
- PMP项目管理过程
- YUV420、YUV422、RGB24转换