vc++中try,catch,throw怎么不对了?

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:06:53
我写了这样的代码
try {if(this->textBox1 ->Text ==" "||this->textBox2 ->Text ==" ") throw "a";}
catch (char ){this->label4->Text ="数据输入错误";};
int a,b,c;
a=Convert::ToInt32 (this->textBox1->Text );
b=Convert::ToInt32 (this->textBox2->Text) ;
c=a+b;
for(c=1;c%b!=0||c%a!=0;c++);
this->label4->Text =this->textBox1 ->Text +"和"+this->textBox2 ->Text +"的最小公倍数是:"+ Convert::ToString (c);

在编译时可以通过,但是输入空格时,它不能正确处理异常啊,这是为什么啊?
不要只是评价啊,要的是解决的办法,就是不懂才问啊

try
{
if(!strcmp(" ",this->textBox1 ->Text)
|| !strcmp(" ",this->textBox2 ->Text))
throw "a";
}
catch (char* )
{
this->label4->Text ="数据输入错误";
AfxMessageBox("数据输入错误");
};

=======================================
补充:
请问一下 silvergingko 我给的答案对不对啊 ~

抛了个字符串,叫人家管字符的去抓,抓了不算,再让人家去处理,太欺负人了,哈哈哈~~
补充回答:
都已经学到了C++了,而且学到很后面的异常处理了,可你连C里最基本的错误都找不出来?通常,我觉得给别人个建议甚过直接给答案.大方向给了,小的细节自己去捕捉,小的地方其实都是非常简单的东西.关键看你基础知识是不是熟悉,显然,你还需要把C再补一下,要恶补!!
C++对你来说太险恶!