2012-12-16 32 views
0

Maby這對你很簡單,但對我來說不是。 我有這樣的代碼:最後試試catch

Private int InsertData() 
{ 
    int rezultat = 0; 
     try 
     { 
      if (sqlconn.State != ConnectionState.Open) 
      { 
       sqlconn.Open(); 
      } 
      rezultat = (int)cmd.ExecuteScalar(); 

     } 
     catch (Exception ex) 
     { 
      lblMesaje.Text = "Eroare: " + ex.Message.ToString(); 

     } 
     finally 
     { 
      if (sqlconn.State != ConnectionState.Closed) 
      { 
       sqlconn.Close(); 
      } 
     } 

     return rezultat; 
} 

僅僅是在表中插入新記錄。即使這會拋出一個錯誤「指定的轉換無效」。 「rezultat =(int)的cmd.ExecuteScalar();」 - 執行代碼並將行插入到數據庫中,並繼續執行。

爲何繼續? Maby我最終還是不明白try catch的結果Smile | :)

謝謝!

+0

使用編程語言標記您的問題以獲得適當的受衆。 –

回答

0

在你的代碼中,你顯式地捕獲異常。那爲什麼執行繼續。 如果您希望在遇到任何異常時停止執行,那麼您需要拋出異常。 拋出新的異常(ex.getMessage());

但這不是最佳實踐。嘗試捕獲只聲明的異常,而不是高級別的Exception類。