请问各位一个问题:C++中的异常处理到底作用有多大?

如题,对于下面的两个程序段,一个用了异常处理的机制,另外一个没有,我想请问这两个程序段,都可以发现异常,那异常处理的机制还有什么使用上的优势吗?//1inta,b;cin... 如题,对于下面的两个程序段,一个用了异常处理的机制,另外一个没有,我想请问这两个程序段,都可以发现异常,那异常处理的机制还有什么使用上的优势吗?
//1
int a, b;
cin>>a>>b;
while(a>b)
{
cout<<"a必须小于或者等于b,请重新输入:";
cin>>a>>b;
}
func(a,b);

//2
func(int a, int b)
{
if(a>b)
throw"a必须小于或者等于b"
...
}
int a, b;
cin>>a>>b;
try
{ func(a,b);
}
catch(char *ch)...
展开
 我来答
arongustc
科技发烧友

2011-12-18 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5853万
展开全部
当你知道异常在哪里会发生时,它的作用相对比较小。如果你完全不知道异常在哪发生时,它的作用就非常明显了。
而且,如果你这里的异常并没有进行相应的处理。如果你的func被几百个函数调用,调用函数嵌套几十层,每层都必须对a>b的情况进行处理,也就是不能在func内部要求重新输入,而必须返回上层 让很多函数判断结果时,这才能体会出优点。

简而言之,你的程序太小太简单也太不合理(哪能随便在一个函数内部就cin的?这也太不容易扩展了),所以才显得它没什么用
ghj123h
2011-12-18 · TA获得超过2560个赞
知道小有建树答主
回答量:1792
采纳率:0%
帮助的人:375万
展开全部
避免程序错误提示
引发一场不会崩溃
捕捉异常并提示
保护用户数据很重要

不必要的崩溃可防止
关键就在捕获异常
防止异常第一线
就在捕获异常出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ai_jm
2011-12-18
知道答主
回答量:23
采纳率:0%
帮助的人:10.3万
展开全部
主要是为了在合适的调用层做统一处理,不用一层一层把异常信息返回出来吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式