注册 登录
编程论坛 C++教室

[求助]关于异常处理的小问题

Dam3000 发布于 2007-06-19 00:27, 542 次点击
用一个的例子吧:

void main(){
int a;
cin>>a;
cout<<a<<endl;
}

这么个很简单的程序,运行时,当对a输入字符的时候当然会出错。请问各位:能否用异常处理把这问题解决?应该怎么做?
谢谢!
7 回复
#2
蛙蛙2007-06-19 09:05
判断异常处理的时候,要有判断异常的条件,你上面的程序是输入任何数字都不会出现异常情况的。
那现在我们假设当输入a=0的时候,程序就会出现异常,代码如下:
void main(){
int a;
try{
cin>>a;
if(a==0)
thorw a;
}
catch(...){
cout<<"errer"<<endl;
}
cout<<a<<endl;
}
#3
Dam30002007-06-19 10:28
谢谢楼上~~但还是有个问题……
假设输入了字符,那么抛出错误的判断条件怎么写啊?

对了~~大家端午快乐
#4
wfpb2007-06-19 12:06
void main()
{
    try
    {
        cin>>a;
        if(cin.rdstate()!=ios::goodbit;)
            thorw 0;
    }
    catch(int a)
    {
        cout<<\"errer\"<<a<<endl;
    }
}
#5
aipb20072007-06-19 14:07

去找本书看看异常处理的部分吧!

用的最多的估计就是try块和catch了!

#6
Dam30002007-06-19 23:35

Thanks a lot!
It's very useful!

#7
孤魂居士2007-06-20 01:15
学了个知识
激动中``
#8
zhwj01082007-06-25 10:43
是throw,不是thorw;是error,不是errer
1