64,649
社区成员
发帖
与我相关
我的任务
分享
int Div(int x, int y)
{
try
{
if(y == 0)
throw y;//抛出异常
return x / y;
}
catch(int)
{
//捕获异常
cout << "deviding zero\n";
return 0;//有异常也要返回一个值,否则将寄存器eax的值当作返回值,而这个值不是我们能预料的,会造成困扰
}
}
int Div(int x, int y);
int main()
{
int d = 0;//定义变量,记得顺手初始化,养成好习惯可以避免很多不必要的问题哦
//下面开始测试函数int Div(int x,int y);,函数内部已经有异常处理,所以调用时并不需要去try,catch,就是用了也不能达到预期效果,因为就算有异常,异常也已经在函数内部被接管了
cout << "8/0=";
d = Div(8, 0);
cout << d << endl;
cout << "that is ok.\n";
system("pause");
return 0;
}
int Div(int x, int y)
{
try
{
if(y == 0)
throw y;//抛出异常
return x / y;
}
catch(int)
{
//捕获异常
cout << "deviding zero\n";
}
}