0

也许这对你来说很简单,但对我来说却不是。我有这个代码:

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 的意思了 微笑 | :)

谢谢!

4

1 回答 1

0

在您的代码中,您明确捕获异常。这就是为什么继续执行。如果要在捕获到任何异常时停止执行,则需要抛出异常。抛出新异常(ex.getMessage());

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

于 2012-12-16T17:17:15.143 回答