C++中的try catch语句
来源:互联网 发布:淘宝中奖客服电话 编辑:程序博客网 时间:2024/05/02 02:44
之前一直在使用C#,其中所有的可能会出现的异常操作,都有Exception来进行,本人也从未进行过深究,但是在C++中就没有这么简洁的使用方式了,只好去尝试使用最原始的解决方案,现整理代码,如下
其实就是一个很简单的将字符串转换成数字的小程序,但是我们在编写程序的时候一定要注意程序的鲁棒性,也即在危险情况下,系统能否正常运行,也即,需要考虑到系统真正运行时可能遇到的种种问题:诸如非法输入,或者int溢出等等
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////文件描述:将字符串转换成数字///////////////////////////////////////////////////////////////////////////////////////////////////////////////#include<iostream>using namespace std;#define OVERFLOW -1#define ILLEGAL -2int StrtoInt( char* Str){const char* p=Str;int total=0;try{do{total*=10;if(*p-'0'<0||*p-'0'>9){throw ILLEGAL;}total+=*p-'0';if(total<0){throw OVERFLOW;}*p++;}while(*p);}catch(int& value){if(value==ILLEGAL){cout<<"抱歉非法输入\n";}else if(value==OVERFLOW){cout<<"抱歉,溢出错误\n";}return -1;}return total;}int main(){char str_input[100]={0};cout<<"请输入要转换的字符串\n";cin>>str_input;cout<<"转换结果是:"<<StrtoInt(str_input)<<endl;return 0;}
其实就是一个很简单的将字符串转换成数字的小程序,但是我们在编写程序的时候一定要注意程序的鲁棒性,也即在危险情况下,系统能否正常运行,也即,需要考虑到系统真正运行时可能遇到的种种问题:诸如非法输入,或者int溢出等等
0 0
- C++中的try catch语句
- JavaScript中的try、catch语句
- JavaScript中的Try...Catch 语句
- JS中的try-catch语句
- retrun语句在try(){}catch(){}中的作用
- try-catch-finally块中的退出语句
- JAVA初窥:try、catch、finally语句块中的return语句
- JavaScript Try...Catch 语句
- JavaScript Try...Catch 语句
- try-catch语句
- JavaScript Try...Catch 语句
- JavaScript Try...Catch 语句
- try-catch语句
- try..catch..finally语句
- try catch 语句好不好?
- MATLAB try/catch语句
- js try,catch 语句
- try-catch-finally语句
- OrderedDict 有序字典以及读取json串时如何保持原有顺序
- C++模板详解
- Why MVC is Better?(翻译)
- Struct passwd 和 struct spwd
- 开启大数据、云计算之旅
- C++中的try catch语句
- jndi作用
- 最短路算法合集
- Modularity(模块性)
- wooyoo平台使用视频
- win7下用u盘安装ubuntu系统注意事项
- 如何解读返回函数指针的函数声明
- C语言中的形参和实参
- mongodb-findAndModify(来源于mongodb权威指南)