异常抛出类型
2012-10-01 14:33
176 查看
#include <iostream> #include <cstdlib> using namespace std; void transfer() throw(const char*,int,double) //如果不要throw语句,则说明捕捉任何异常。写了可能抛出的异常类型,就不会捕捉其他类型的异常了? { cout << "开始转账业务处理" << endl; srand(time(0)); int x = rand()%4; if(0 == x) throw "Take ERROR"; //如果把下一句里的100改成'A', 那么等到抛出这个异常时,程序会提示“放弃”,中止? else if(1 == x) throw 100; else if (2 == x) throw 3.1415; cout << "转账业务处理成功" << endl; } int main() { try { cout << "开始转账" << endl; transfer(); cout << "结束转账" << endl; } //按着顺序依次判断异常类型 catch(const char* e) { cout << "处理字符串异常:" << e << endl; } catch(int e) { cout << "处理整数异常:" << e << endl; } catch(double e) { cout << "处理浮点数异常:" << e << endl; } //按照程序代码来看,这句是总也不会起作用的。 catch(...) //处理任何异常,那是在异常出现后不符合前面的catch时才启用的 { cout << "处理其他异常" << endl; } cout << "继续提供服务!" << endl; }
相关文章推荐
- 子类方法返回类型必须和父类相同,抛出的异常声明可以小于或等于父类
- 使用poi导出Excel,并设定单元格内容类型,抛出异常
- Code Fragment-错误的参数类型,通过抛出异常提示用户。
- 这个browse()方法可能抛出各种类型的异常
- JAVA 7新特性——在单个catch代码块中捕获多个异常,以及用升级版的类型检查重新抛出异常
- 这个browse()方法可能抛出各种类型的异常
- JUnit 判断 是否有异常抛出 异常类型是否正确 以及 异常的message 是否正确
- php抛出异常与捕捉特定类型的异常详解
- ASP.NET代码调用SQL Server带DateTime类型参数的存储过程抛出异常问题
- php中的抛出异常和捕捉特定类型的异常
- JAVA 7新特性——在单个catch代码块中捕获多个异常,以及用升级版的类型检查重新抛出异常
- .NET 指南:抛出类型正确的异常
- 错误处理: 从托管的 COM+ 服务器应用中抛出自定义异常类型
- 抛出类类型的异常
- .NET 指南:捕获并且抛出标准的异常类型
- java中两个double类型相加抛出异常报错问题的解决方法
- try代码体抛出的异常,级别要小于等于catch住的异常类型
- 子类抛出的异常类型不能比父类抛出的异常类型更宽泛!
- Java SE7新特性之捕获多种类型的异常并且重新抛出使用改进的类型检查的异常
- Objective-C 编程语言(11)异常处理----捕获多种类型的异常、抛出异常