C++语言程序设计 例12-1处理除零异常 #include <iostream> using namespace std; 程序运行结果如下: 异 int diyide(int x,int y){ 5/2=2 if (y==0) 常 throw x; 8 is divided by zero! return x /y; That is ok. 处 int main(){ 理 try t cout<"5/2=" <divide(5, <endl; 的 cout <"8/0 ="<divide(8, 0 <endl; cout <"7/1="<<divide(7, 1) endl; 实 catch (int e){ cout <<e <<is divided by zero!" endl 现 cout <"That is ok."<endl; return 0;
C++语言程序设计 6 例12-1处理除零异常 #include <iostream> using namespace std; int divide(int x, int y) { if (y == 0) throw x; return x / y; } int main() { try { cout << "5 / 2 = " << divide(5, 2) << endl; cout << "8 / 0 = " << divide(8, 0) << endl; cout << "7 / 1 = " << divide(7, 1) << endl; } catch (int e) { cout << e << " is divided by zero!" << endl; } cout << "That is ok." << endl; return 0; } 程序运行结果如下: 5 / 2 = 2 8 is divided by zero! That is ok. C++异常处理的实现
C+语言程序设计 异常接口声明 C++ 可以在函数的声明中列出这个函数可 异 能抛掷的所有异常类型。 常 例如: 处 void fun throw (A,B,C,D); 理 。若无异常接口声明,则此函数可以抛 的 掷任何类型的异常。 ●不抛掷任何类型异常的函数声明如下: 现 void fun()throw();
C++语言程序设计 7 异常接口声明 可以在函数的声明中列出这个函数可 能抛掷的所有异常类型。 –例如: void fun() throw(A,B,C,D); 若无异常接口声明,则此函数可以抛 掷任何类型的异常。 不抛掷任何类型异常的函数声明如下: void fun() throw(); C++异常处理的实现