2013-10-25 106 views
2

我試圖做的是,從文本框中獲取用戶輸入,將其轉換爲int然後使用它。除了嘗試和抓住之外,我得到了一切工作。這個人會寫一封信而不是一個號碼。與下面的代碼總是捕捉的東西。我不知道什麼是捕捉什麼。我已經拿出了布爾測試,如果我把一封信,它會拋出異常,然後去嘟嘟聲。其他然後等待有效的輸入。 請原諒我亂碼,我仍然是一個初學C#程序員:D先進的感謝!嘗試和捕捉,總是捕捉異常

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace WindowsFormsApplication4 
{ 
public partial class Form1 : Form 
{ 
    bool tone = false; 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     bool test = true; 
     speedInput.Clear(); 
     beep.Clear(); 
     int beepspeed = 90; 
     int speed = 100; 
     string speedtext = this.speedInput.Text; 
     string beeptext = this.beep.Text; 
     try 
     { 
      test = true; 
      beepspeed = Convert.ToInt32(beeptext); 
      speed = Convert.ToInt32(speedtext); 
     } 
     catch (Exception) 
     { 
      MessageBox.Show("numbers above 37 only!!"); 
      test = false; 
     } 

     if (test) 
     { 
      for (int i = 0; i < beepspeed; i++) 
      { 
       if (this.tone) 
       { 
        Random ran = new Random(); 
        int rand = ran.Next(400, 3000); 
        Console.Beep(rand, speed); 
       } 
       else 
       { 
        Console.Beep(1000, speed); 
       } 
      } 
     } 
    } 

    private void radioButtonYes_CheckedChanged(object sender, EventArgs e) 
    { 
     this.tone = true; 
    } 

    private void radioButtonNo_CheckedChanged(object sender, EventArgs e) 
    { 
     this.tone = false; 
    } 
} 
} 
+1

作爲一個初學者,我會開始打印異常。 – Ofiris

+1

在catch塊中放置一個斷點,然後當它遇到斷點時,將鼠標放在單詞Exception旁邊的下劃線上。你應該能夠提出一些異常的細節,消息和堆棧跟蹤將是很好的發佈。 –

回答

5

您在Button1_Click的年初清潔的輸入內容

speedInput.Clear(); 
beep.Clear(); 

然後,當你嘗試轉換爲空字符串INT32失敗

beepspeed = Convert.ToInt32(beeptext); 
speed = Convert.ToInt32(speedtext); 
+3

Terry Pratchett - '給一個人一場火,他溫暖了一天,但放火燒了他,他一輩子都很溫暖 –

+0

哇,我把它放在一些測試中,忘了它..然後它來了回到位我..哈哈感謝修復:) – hurnhu

+1

@JimW,匿名 - '四隻眼睛看到兩個以上':) –