#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
void divide(int x,int y){
if(y==0){
throw x;
}
cout<<"执行了除法"<<endl;
}
int main(){
try {
divide(10, 0);
}
catch (int e)
{
cout << "捕获到了异常 e = " << e << endl;
}
catch (...)//能够捕获任意类型的异常
{
cout << "捕获到未知异常" << endl;
}
}
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
//异常的栈解旋
using namespace std;
class A{
private :
int a;
public :
A(int a){
this->a=a;
cout<<"构造函数"<<endl;
}
~A(){
cout<<"析构函数"<<endl;
}
};
void test() throw (int,char){//只能抛出这种类型
A a(20);
A a1(62);
cout<<"分割"<<endl;
throw 5;
}
int main(){
try {
test();
}
catch (int e)
{
cout << "捕获到了异常 e = " << e << endl;
}
catch (...)//能够捕获任意类型的异常
{
cout << "捕获到未知异常" << endl;
}
}
/*构造函数
构造函数
分割
析构函数//出现异常后直接将对象给析构了
析构函数
捕获到了异常 e = 5
*/