抛出错误问题

fanhuaze 2012-05-17 05:40:27
#include<iostream>
using namespace std;
double s(double a,double b,double c)
{
if(a+b<=0||a+c<=0||b+c<=0)
throw 1;
else if(a+b<=c||a+c<=b||b+c<=a)
throw 1.00;
return a*b*c;
}
int main()
{
double a,double b,double c;
double are;
cout<<"请输入三边长"<<endl;
cin>>a>>b>>c;
try
{
are=s(a,b,c);
cout<<are<<endl;
}
catch(int 1)
{
cout<<"不符合数据"<<endl;
}
try
{
are=s(a,b,c);
cout<<are<<endl;
}
catch(double 1.00)
{
cout<<"请正确输入"<<endl;
}
return 0;
}

帮忙看一下我那错了!!我们刚学到错误处理,我还不太会!!!
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
你的选择B 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
#include<iostream>
using namespace std;
double s(double a,double b,double c)
{
if(a+b<=0||a+c<=0||b+c<=0)
throw 1;
else if(a+b<=c||a+c<=b||b+c<=a)
throw 1.00;
return a*b*c;
}
int main()
{
……
[/Quote]
捕获异常,根据异常提示信息,确定出错类型和位置
W170532934 2012-05-17
  • 打赏
  • 举报
回复
try catch是异常处理机制,try段内运行可能抛出异常的代码段,抛出的异常由catch捕获。然后进行相应的处理。
fanhuaze 2012-05-17
  • 打赏
  • 举报
回复
为啥那样改啊?改后输出就不正常了!!
sumos 2012-05-17
  • 打赏
  • 举报
回复
catch(int 1) 改成 catch(int k)

catch(double 1.00) 改成 catch(double d)

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧