文本框为空时,C ++ Windows窗体应用程序未处理异常错误

时间:2012-09-30 14:52:46

标签: c++ winforms c++-cli

  

可能重复:
  C++ Windows Forms application unhandled exception error when textbox empty

我正在Visual Studio中为C ++课程构建温度转换应用程序。它是一个Windows窗体应用程序,我写的代码如下。当然还有其他代码,但我不确定你需要它来帮助我。

我的问题是,当我运行应用程序时,如果我没有输入txtFahrenheit或txtCelsius2文本框中的任何内容,我会收到以下错误:

“mscorlib.dll中发生了'System.FormatException'类型的未处理异常”

只有在两个文本框中输入数字时,应用程序才能正常工作。

private: System::Void btnFtoC_Click(System::Object^  sender, System::EventArgs^  e) 
             {               
                // Convert the input in the Fahrenheit textbox to a double datatype named fahrenheit for manipulation
                double fahrenheit = Convert::ToDouble(txtFahrenheit->Text);
                // Set the result string to F * (5/9) -32
                double result = fahrenheit * .5556 - 32;
                // Set the Celsius text box to display the result string
                txtCelsius->Text = result.ToString();
             }

private: System::Void btnCtoF_Click(System::Object^  sender, System::EventArgs^  e) 
             {
                // Convert the input in the Celsius textbox to a double datatype name celsius for manipulation
                double celsius = Convert::ToDouble(txtCelsius2->Text);
                // Set the result2 string to C * (9/5) + 32
                double result2 = celsius * 1.8 + 32;
                // Set the Fahrenheit text box to display the result2 string
                txtFahrenheit2->Text = result2.ToString();
             }

1 个答案:

答案 0 :(得分:2)

您无法将空字符串转换为Double

您应该使用if语句来代替其他内容。