C/C++学习----第六章 异常处理
2006-10-27 10:42
471 查看
第六章 异常处理
确定程序出错时,执行的代码,称之为异常处理程序。三个关键词:try, throw 和catch。程序中的异常都有一个唯一的名字,可以通过创建异常类来定义一个异常。在程序发生异常时,许多情况下需要指定关于该异常的附加信息:一种解决方案是向以常类中加入成员变量,以及把参数赋予成员的构造函数,当程序捕获到这个异常时,通过检查它的成员变量,以确定有关该异常起因的更多信息。class myexcept{
public:
int value;
myexcept(int i){
value =i;
}
}; //定义异常类
function(){
throw myexcept(5);
}
void main()
{
try{
function();
}
catch (out_of_memory & e)
{
cout<<”exception value is ”<<e.value;//异常处理过程
}
}
在一个catch中捕获多处异常:
enum fileexception {open, read, write, close};
void func()
{
throw fileexception(open);
}
void main()
{
try {
func();
}
catch(fileexception value)
{
switch(value)
{
case open :
cout<<"open error"<<endl; break;
case read:
cout<<" read error"<<endl; break;
case write:
cout<<" write error"<<endl; break;
case close:
cout<<" close error"<<endl; break;
default: break;
}
exit(1);
}
}
标准异常exception类结构图:
exception |
bad_alloc |
bab_cast |
bab_typeid |
logic_error |
ios::base_failure |
runtime_error |
bab_exception |
domain_error |
invalid_argument |
length_error |
out_of_range |
range_error |
overfloe_error |
underflow_error |
相关文章推荐
- C/C++学习----第六章 异常处理
- C++学习笔记(6)-异常处理
- 学习c++ ,对异常错误输入的处理
- Symbian学习总结-基础篇-Symbian C++中的异常处理
- C++异常处理的学习
- C++的异常处理初步学习
- C++学习总结系列--异常处理
- C++学习笔记:高级编程:文件和流,异常处理,动态内存,命名空间
- c++学习之异常处理简单用法
- C++简单学习(Part3_lecture 10)(文件、流、异常处理、动态内存、命名空间)
- c++ 异常处理 的简单学习
- C++ FAQ学习笔记 17章 异常和错误处理
- 未处理异常和C++异常——Windows核心编程学习手札之二十五
- C++学习笔记——异常处理匹配与函数嵌套
- java系统学习(十二) --------异常与处理及内存管理
- 8.1 JAVA学习———关于异常处理的小记
- c++ 11 异常处理 北京大学C++程序设计实习公开课
- C++中的异常处理
- 【SQL Server学习笔记】SQL Server中的异常处理
- Python学习笔记(4)--异常处理