源码
// 21Exceptions.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
//exception: 程序运行过程中,由于资源、环境等变化导致的不可预知因素
//注意. bug不是exception,exception是程序员不可控制的,常见的异常包括:数据库异常(要访问的表根本不存在)、内存异常、文件异常等
//exception产生的形式如下(通常我们自己的应用逻辑中,不会抛出异常)
void fun(int i) throw(int)
{
if(i == 1)
throw 1;
}
int main(int argc, char* argv[])
{
//如果对于异常不进行处理,程序将终止运行(异常会上溯至OS)
//fun(1);
//通过try catch结构,可以捕获异常并正确处理
try
{
fun(1);
}
catch(int i)
{
cout << "sorry, some errors,pls contact Mr. Yidong(10086)" << endl;
}
//catch只能捕获对应类型的异常,例如抛出的异常是int,catch中以为是Class A,那么是捕获不到的
//C++支持 写成:catch(...)的形式,这样可以捕获任何异常。 可以自行验证。
return 0;
}