在类CExeption的成员函数Reason()中用cout显示异常的类型,在函数fn1()中用throw触发异常,在主函数的try模板中调用fn1(),在catch模板中捕获异常。算法:先根据要求定义一个类CExeption,然后用成员函数Reason()来显示错误信息,然后定义一个函数来完成除法功能,触发条件为除数为0,然后定义主函数来处理异常。
时间: 2024-03-26 07:34:27 浏览: 40
C++获取类的成员函数的函数指针详解及实例代码
好的,我会按照您的要求回答您的问题。首先,根据您的要求,我们需要定义一个CExeption类,并且该类需要有一个成员函数Reason(),用于显示异常的类型。下面是代码示例:
```c++
#include<iostream>
using namespace std;
class CExeption{
public:
void Reason(){
cout<<"除数不能为0!"<<endl;
}
};
```
接下来,我们需要定义一个函数fn1(),该函数用于完成除法功能,并且在除数为0时抛出异常。下面是代码示例:
```c++
void fn1(int a, int b){
if(b == 0){
throw CExeption(); // 抛出异常
}
cout<<"a/b="<<a/b<<endl;
}
```
最后,我们需要在主函数的try模板中调用fn1(),并且在catch模板中捕获异常。下面是代码示例:
```c++
int main(){
int a = 10, b = 0;
try{
fn1(a, b);
}
catch(CExeption e){
e.Reason(); // 捕获异常并且显示异常信息
}
return 0;
}
```
综上所述,以上代码可以完成您提出的要求,实现了除数为0时抛出异常并且捕获异常并且显示异常信息的功能。
阅读全文