日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)...

發布時間:2025/7/14 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你能保證你的程序不會出問題嗎?

不能

當你的程序執行到某個地方發生了你不想要的結果。你是否想讓它一錯再錯?

不想

你是否想讓你的程序占著茅坑不拉屎?

不想

你是否想知道你的程序出錯的原因?

看了了這4個問題之后。假設你的回答和我的一致,那么請看下文

trycatch finally的使用方法:

  • try??
  • '你想要寫的程序??
  • catch??
  • '捕獲你想寫的程序里面全部發生的異常??
  • finally??
  • '不管發生還是不發生異常,你都想運行的代碼?

  • 演示樣例:

  • Dim?Update_Info?As?String?=?"update?"?&?Table?&?"set?"?&?FieldAndContent????'改動的sql語句??
  • ????????????Dim?DBConnectStr?As?New?ConnectStringDAL????'數據庫連接字符串??
  • ????????????Dim?DBConnection?As?New?SqlConnection(DBConnectStr.ConnectString)???'數據庫連接對象??
  • ??
  • ????????????DBConnection.Open()?'連接數據庫??
  • ??
  • ????????????Dim?DBCmd?As?New?SqlCommand(Update_Info,?DBConnection)??'運行改動語句??
  • ??
  • ????????????Result?=?"成功改動了:"?&?DBCmd.ExecuteNonQuery?&?"行"??
  • ????????Catch?ex?As?Exception??
  • ????????????Result?=?"在改動數據過程中發生了錯誤:"?&?ex.Message ?
  • ? ??MsgBox?Result
  • ? ??finally ?

    ? ??DBConnection.Close



  • 倘若你的程序在連接數據庫的時候出錯導致連接失敗,假設沒有不論什么你能夠參考的提示信息。那么你可能會覺得是查詢語句錯了。而不是sa用戶的登錄password錯誤了。而如上程序,假設

    DBConnection.Open()?'連接數據庫

    這里出錯了,那么這句完了之后她就直接跳轉到catch ex as exception那里運行它以下的語句,通過調用ex.message,它會返回錯誤的原因,可能是username或password錯誤了。然后你能夠在finally那里寫上關閉數據庫連接的代碼,這樣就能夠防止程序遇到錯誤直接跳出程序。而不釋放資源(相當于占著茅坑不拉屎)。



    回到剛才的第二個問題,當程序發生了你不想要的結果。他會一直執行下去。剛才說遇到錯誤它會跳出來。可是不想要的結果如本來這個變量A應該被賦值得到3,可是它卻是4,而這個時候它是不會直接跳出的,由于這不是什么異常的錯誤,可能是邏輯上的錯誤。依照分層的思想。假設發生在UI層,我們為了讓UI曾職責單一,不進行不必要的推斷語句,僅僅負責用戶操作的響應、用戶數據的傳遞和各種顯示的功能,邏輯上不做太多的推斷和處理,這時候你能夠使用拋出異常來使你的程序發生異常,直接跳到catch那里。

    比方上面的代碼

  • ? ??Dim?Update_Info?As?String?=?"update?"?&?Table?&?"set?"?&?FieldAndContent????'改動的sql語句??
  • ????????????Dim?DBConnectStr?As?New?ConnectStringDAL????'數據庫連接字符串??
  • ????????????Dim?DBConnection?As?New?SqlConnection(DBConnectStr.ConnectString)???'數據庫連接
  • ? ??Dim?DBCmd?As?New?SqlCommand(Update_Info,?DBConnection)??'運行改動語句
  • ? ??Result?=?"成功改動了:"?&?DBCmd.ExecuteNonQuery?&?"行"
  • ? ??Catch?ex?As?Exception
  • ? ??Result?=?"在改動數據過程中發生了錯誤:"?&?ex.Message
  • 在連接數據庫之前拋出了異常,注意。這個異常是你人為?的制造的。它也屬于異常的一種類型,所以這個時候它就不運行連接數據庫以及以下的代碼直到catch為止,他會運行catch以下的代碼,并顯示異常的原因。值得注意的是finally后面的語句,無論程序是否會出現異常。它肯定是會運行的,一般自己衡量一下該運行什么程序好。一般都會寫一些釋放資源的代碼。

    總結

    以上是生活随笔為你收集整理的重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。