剛剛正權童鞋跟我抱怨說我上篇講異常只有文字,一點例子也沒有。那麼這篇我就失信一下,先不對比用異常所消耗的時間,在這再給大家賣個關子。
下面我就開始給大家做一個DEMO來說明一下我對異常的使用。
首先要說的是我認為是內容耦合的那個例子,大家請看代碼,我盡量簡單的說(由於是為了讓大家看懂,所以我就用漢語標識我要幹什麼,大家理解哈,嘻嘻。
商務邏輯層的代碼:
Public Function Login() As String If 使用者不存在 Then Return "使用者不存在" End If If 密碼不正確 Then Return "密碼不正確" End If If 登陸成功 Then Return "登陸成功" End If End Function
UI層的代碼
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogIN.Click Select Case BLL.Login() Case "使用者不存在" 執行A計劃() Case "密碼不正確" 執行B計劃() Case "登陸成功" 執行C計劃() Case Else 撕票() End Select End Sub
這樣,UI層就不得不需要去清楚BLL層返回的到底是什麼字串,當然,這樣其實也不能說不可以。在文檔裡面標註清楚也是完全可以的。但是UI層和BLL層的耦合,這就不多說了。
下面看一下這樣的代碼:
BLL層的代碼:
Public Function Login() As Boolean If 使用者不存在 Then Throw New Exception("使用者不存在") End If If 密碼不正確 Then Throw New Exception("密碼不正確") End If If 登陸成功 Then Throw New Exception("登陸成功") End If End Function
UI層的代碼:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogIN.Click Try If BLL.Login() Then 登陸成功() End If Catch ex As Exception MsgBox(ex.Message) Exit Sub End Try End Sub
這樣,在UI層只是調用了一下BLL層的代碼。以上就是我對於異常的利用,當然,異常還有別的用處,等待大家去發現。
關於異常的利用,我就說到這吧。下篇將繼續咱們的話題,進行個異常處理到底能用我們多長時間?