请问各位一个问题: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)... 展开
//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)... 展开
展开全部
当你知道异常在哪里会发生时,它的作用相对比较小。如果你完全不知道异常在哪发生时,它的作用就非常明显了。
而且,如果你这里的异常并没有进行相应的处理。如果你的func被几百个函数调用,调用函数嵌套几十层,每层都必须对a>b的情况进行处理,也就是不能在func内部要求重新输入,而必须返回上层 让很多函数判断结果时,这才能体会出优点。
简而言之,你的程序太小太简单也太不合理(哪能随便在一个函数内部就cin的?这也太不容易扩展了),所以才显得它没什么用
而且,如果你这里的异常并没有进行相应的处理。如果你的func被几百个函数调用,调用函数嵌套几十层,每层都必须对a>b的情况进行处理,也就是不能在func内部要求重新输入,而必须返回上层 让很多函数判断结果时,这才能体会出优点。
简而言之,你的程序太小太简单也太不合理(哪能随便在一个函数内部就cin的?这也太不容易扩展了),所以才显得它没什么用
展开全部
避免程序错误提示
引发一场不会崩溃
捕捉异常并提示
保护用户数据很重要
不必要的崩溃可防止
关键就在捕获异常
防止异常第一线
就在捕获异常出
引发一场不会崩溃
捕捉异常并提示
保护用户数据很重要
不必要的崩溃可防止
关键就在捕获异常
防止异常第一线
就在捕获异常出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要是为了在合适的调用层做统一处理,不用一层一层把异常信息返回出来吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询