简单的列子:
#include
using namespace std;
class test
{
private:
int a;
int b;
public:
test(int& a1,int& b1) {
a=a1;
b=b1;
}
void testcom(void){
if(a==b)
{
cout<<"exp hint!"<<endl;
throw *this;
}
}
void show(void)
{
cout<<a<<" "<<b<<endl;="" ="" } ~test(){};
};
int main(void)
{
int a;
int b;
cin>>a;
cin>>b;
test t1(a,b);
try{
t1.testcom();
}
catch(test& t)
{
t.show();
return 1;
}
return 0;
}
这里使用throw *this 来将具体的类数据返回给catch
</a<</endl;
C++类和异常例子
2023-11-11 18:46:40