最后试着抓住

时间:2012-12-16 17:02:05

标签: try-catch finally

Maby这对你来说很简单,但对我来说却不是。  我有这段代码:

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我不明白尝试抓住最后笑脸| :)

谢谢!

1 个答案:

答案 0 :(得分:0)

在您的代码中,您明确地捕获了Exception。这就是执行继续的原因。 如果你想要在执行任何异常时停止执行,那么你需要抛出异常。     抛出新的异常(ex.getMessage());

但这不是最好的做法。尝试仅捕获声明的异常,而不是高级异常类。