c++ try throw简单例子
2015-07-14 17:08
302 查看
#include<iostream>
using namespace std;
int main()
{
int a,b;
char tmp[]="haha";
double total=1.0;
cin>>a>>b;
if(b>0){
for(int i=0;i<b;i++){
total*=a;
}
}else if(b<0){
try
{
if(a==0){
throw tmp;
}
for(int i=0;i<-b;i++){
total*=a;
}
total=1/total;
}
catch(char*){
cerr<<"error\n";
return 1;
}
}else{
if(a==0){
throw a;
}else{
total=1;
}
}
cout<<total<<endl;
return 0;
}
在可能出错的代码前后加上try语句,在可能错误语句里用throw丢出一个变量(无限制),然后用catch捕捉这个变量类型
using namespace std;
int main()
{
int a,b;
char tmp[]="haha";
double total=1.0;
cin>>a>>b;
if(b>0){
for(int i=0;i<b;i++){
total*=a;
}
}else if(b<0){
try
{
if(a==0){
throw tmp;
}
for(int i=0;i<-b;i++){
total*=a;
}
total=1/total;
}
catch(char*){
cerr<<"error\n";
return 1;
}
}else{
if(a==0){
throw a;
}else{
total=1;
}
}
cout<<total<<endl;
return 0;
}
在可能出错的代码前后加上try语句,在可能错误语句里用throw丢出一个变量(无限制),然后用catch捕捉这个变量类型
相关文章推荐
- 黑马程序员------C语言中变量的概念,初始化和引用以及作用域
- 大顶堆(c++实现)
- C++的Json解析库:jsoncpp
- C++ 布线问题,分支限界法
- c++builder 解压缩
- C语言文件操作函数大全(超详细)
- C/C++/Fortran混合编程浅谈------直接链接方式
- 为什么设计模式在C++社区没有Java社区流行?
- qt 创建纯c++ 工程, 不依赖qt库
- C/C++内存泄漏及检测
- [转载]总结:C++与Fortran的混合编程问题
- C++学习之枚举
- c++顺序容器之array
- c++ STL queue 内存布局简析
- C++ primer 5 笔记3 chapter 2 变量和基本类型(2.4~2.6)
- C++函数队列 BFS的好帮手
- 黑马程序员------C语言中常量的分类及其表示方法
- C++求解最大子矩阵之和
- c++builder 读写文件类
- c++ STL stack 内存布局简析