如何獲取未能轉換的值?一般來說,而不是在這個具體的例子中。如何獲取導致異常的值
try
{
textBox1.Text = "abc";
int id = Convert.ToInt(textBox1.Text);
}
catch
{
// Somehow get the value for the parameter to the .ToInt method here
}
如何獲取未能轉換的值?一般來說,而不是在這個具體的例子中。如何獲取導致異常的值
try
{
textBox1.Text = "abc";
int id = Convert.ToInt(textBox1.Text);
}
catch
{
// Somehow get the value for the parameter to the .ToInt method here
}
你可以這樣做嗎?
int id;
if(int.TryParse(textbox.Text, out id)
{
//Do something
}
else
{
MessageBox.Show(textbox.Text);
}
你也可以像以前一樣使用try catch來捕獲異常並在catch中顯示textbox.Text。
編輯:(問題改變後的方向) 要顯示無法轉換的值,您可以按照以下步驟進行操作。
string myValue = "some text";
int id = 0;
try
{
id = Convert.ToInt32(myValue);
}
catch (FormatException e)
{
MessageBox.Show(String.Format("Unable to convert {0} to int", myValue));
}
有些幫助? –
@NomanNasir你是什麼意思? –
@NomanNasir,我現在根據我認爲你在...之後更新了我的答案(在黑暗中磕磕碰碰) –
而不是捕捉更昂貴的異常,請使用int.TryParse()。 TryParse返回一個布爾值,指定轉換是失敗還是成功。它也作爲輸出參數返回轉換後的值。
int result = 0;
string input = "abc";
if (int.TryParse(input, out result))
{
//Converted value is in out parameter
}
else
{
//Handle invalid input here
}
這是你在找什麼?
int i = 0;
if (Int32.TryParse (textbox.Text, out i))
{
// i is good here
}
else
{
// i is BAD here, do something about it, like displaying a validation message
}
textBox1.Text = "abc";
try
{
int id = Convert.ToInt(textBox1.Text);
}
catch(FormatException ex)
{
MessageBox.Show(textBox1.Text);
}
價值*引起的異常*? –
我認爲他的意思是試試catch .. –
'我認爲他的意思是......'這是問題的問題...... –