载入中。。。 'S bLog
 
载入中。。。
 
载入中。。。
载入中。。。
载入中。。。
载入中。。。
载入中。。。
 
填写您的邮件地址,订阅我们的精彩内容:


 
VC++学习笔记8-异常及其处理
[ 2010/7/16 23:01:00 | By: 梦翔儿 ]
 

//异常的产生
#i nclude <iostream>
#i nclude <string>
using namespace std;


int main()
{
 int i=0;
 //故意产生异常
 cout<<5/i<<endl;
 return 0;
//编译通过,执行异常,需要捕获
}
=======
//异常的产生
#i nclude <iostream>
#i nclude <string>
using namespace std;


int main()
{
 try
 {
  int i=0;
  //故意产生异常
  cout<<5/i<<endl;

 }
 catch (...) //捕获所有错误
 {
  cout<<"eror"<<endl; 
 }
 
 return 0;

//编译通过,执行异常,需要捕获
}
=========
//捕获不符合逻辑的异常或不满足条件的异常
#i nclude <iostream>
#i nclude <string>
using namespace std;

int get_year()
{
 int i=1900;
 cin>>i;
 if(i<1900||i>2007)
 {
  throw string("error input");
 }
 return i;
}


int main()
{
 int year=0;
 try
 {
  year=get_year();
 }
 catch (string err)
 {
  cout<<err<<endl;
  return 0;
 }
 
 cout<<year<<endl;
 return 0;

//编译通过,执行异常,需要捕获
}
=========
//捕获不符合逻辑的异常
#i nclude <iostream>
#i nclude <string>
using namespace std;

void fun()
{
 try
 {
  throw 1;
 }
 catch(int i)
 {
  cout<<i<<endl;
  //抛出另外一个异常
  throw ++i;
 }
}

int main()
{
 try
 {
  fun();
 }
 catch(int i)
 {
  cout<<i<<endl;
 }
 return 0;
}
//异常的再抛出,捕捉到异常后,交上层处理,可以再抛异常.
==========

 
 
发表评论:
载入中。。。

 
 
 

梦翔儿网站 梦飞翔的地方 http://www.dreamflier.net
中华人民共和国信息产业部TCP/IP系统 备案序号:辽ICP备09000550号

Powered by Oblog.