#include <iostream>
using namespace std;
#include<stdexcept>
#include<string>
void submit(float number1, float number2);
int main()
{
float number1, number2;
while (cin >> number1 >> number2)
{
try
{
if (number2 == 0)
throw runtime_error("您输入的除数为0,不符运算要求");
submit(number1, number2);
}
catch (runtime_error err)
{
cout << err.what()<<endl;
cout << "是否要重新输入新数继续操作,请输入yes或者no" << endl;
string str;
cin >> str;
if (!cin || str == "no")
{
cout << "结束操作" << endl;
break;
}
else
cout << "继续操作" << endl;
}
cout << "是否要重新输入新数继续操作,请输入yes或者no" << endl;
string str;
cin >> str;
if (!cin || str == "no")
{
cout << "结束操作" << endl;
break;
}
else
cout << "继续操作" << endl;
}
}
void submit(float number1,float number2)
{
float number3;
number3 = number1 / number2;
cout << "商为" << number3 << endl;
}
try-catch的异常处理。
最新推荐文章于 2024-08-08 01:09:32 发布
该程序实现了一个简单的用户输入两个数进行除法运算的流程,重点在于处理除数为0的异常。当用户输入0作为除数时,程序抛出运行时错误并提示用户。此外,程序还提供了错误恢复机制,询问用户是否重新输入新数继续操作,直到用户选择结束为止。
摘要由CSDN通过智能技术生成