2014-04-29 202 views
1

我正在連接到數據庫,並且在使用無效憑據對其進行測試時出現異常。 連接的代碼是在一個單獨的類,我已經在那裏捕捉錯誤。如何處理此異常

但它似乎經歷了這一點,並有另一個異常指向我在哪裏調用我的mainWindow.xaml.cs構造函數。我如何處理第二個異常。我在我的MainWindow頁面做了另一個try/catch,異常仍然存在。請指教。

//Code at class SimpleDataSource which does the connection: 

public void Connect(string server, string database, int port, string user, string password) 
     { 
      // TODO: Initialise MySqlConnection object with parameters, 
      // open connection with suitable exception handling. 
      string connStr = "server=" + server + ";database=" + database + ";port=" + port + ";user=" + user + ";password=" + password + ";"; 

      try 
      { 
       conn = new MySqlConnection(connStr); 
       conn.Open(); 
      } 
      catch (MySqlException e) 
      { 
       MessageBox.Show(@"Unable to connect to database. 
           Please check the following and try again. 
           1. Ensure you have an internet connection. 
           2. Ensure your credentials are entered correctly"); 
       Console.WriteLine("The error is " + e); 
      } 

     } 

//Calling the constructor for that class on my MainWindow which is causing the exception: 
SimpleDataSource dataSource; 
try { dataSource = new SimpleDataSource("111.111.11.11", "eeeee", 3306, "eeeee", "eeee"); } 
catch (MySqlException e) { e.StackTrace.ToString();} 

錯誤消息: 我試圖交換爲XamlParseException代替個MySqlException和相同的結果。 enter image description here

+0

你的構造函數中的東西拋出一個異常。如果您認爲這是上述方法,請在第一行放置一個斷點並逐步完成代碼。或者在catch(MySqlException e)之後,爲其他類型的異常添加另一個catch,並將其輸出到控制檯,以便查看它是什麼。 –

+0

在您的例外對話框中,點擊'Viewdetail'查看錯誤原因。當某些xaml文件使用不正確的xaml標記或屬性值時,此異常(XamlParseException)會在應用程序加載時出現。您需要確保您的xaml文件具有正確的語法。 – VS1

+0

@ VS1來仔細檢查,你的意思是我的錯誤是在我的MainWindow.xaml頁面本身而不是我的類文件? –

回答

1

您可以發佈您的MainWindow()構造函數中包含的任何代碼。雖然xaml中第3行的錯誤指向,但錯誤可能在其他地方。在你的xaml.cs頁面上,除了構造函數;你是否正在調用與你的數據庫交談的任何函數。

查看您的InitialiseComponent()。你在調用與數據庫交互的任何函數嗎?如果是,請選擇這些行並在其上添加斷點並運行您的應用程序。