#include<iostream>
#include<stdexcept>
//exception/stdexcept/new/type_info头文件里都有定义的标准异常类
using namespace std;
int main()
{
try{
int a,b; char s;
cin>>a>>s>>b;
if(s=='/'){
if(b==0) throw "Divided by 0!";
cout<<a<<"/"<<b<<"="<<a/b<<endl;
}
else
if(s=='%') {
if(b==0) throw a;
cout<<a<<"%"<<b<<"="<<a%b<<endl;
}
else
cout<<"Option must be % or /."<<endl;
}//try
//捕获int类型的异常并处理
catch(int i) { cout<<"Error occur:"<<i<<"%0"<<endl; }
//捕获char* 类型的异常并处理
catch(char *str) {cout<<"Error occur:"<<str<<endl; }
catch(runtime_error err){ cout<<err.what()<<endl;}
//捕获其他不论什么异常并处理
catch(...){cout<<"Unkown Error"<<endl;}
//没错误不执行catch。有错误至多执行一个catch语句块,且不再返回try语句块中。
//无论有无异常都要执行到此处
cout<<"Hello world"<<endl;
return 0;
}
C++——try、throw、catch实例学习程序
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:C++ MPICH
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++之入门学习
C++入门知识详解,包括C++的命名空间域,输入输出,函数重载,引用等。
命名空间 C++输入输出 缺省参数 函数重载 C++ -
JavaScript|错误-throw、try、catch、finally
JavaScript|错误-throw、try、catch、finally1.错误当 JavaScript 引擎执行 Java就是JavaScript抛出一个错误。3.t
javascript try catch throw finally