我是這樣利用異常的(解耦)——你不知道異常的那些事(二)

來源:互聯網
上載者:User

        剛剛正權童鞋跟我抱怨說我上篇講異常只有文字,一點例子也沒有。那麼這篇我就失信一下,先不對比用異常所消耗的時間,在這再給大家賣個關子。

        下面我就開始給大家做一個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層的代碼。以上就是我對於異常的利用,當然,異常還有別的用處,等待大家去發現。
        關於異常的利用,我就說到這吧。下篇將繼續咱們的話題,進行個異常處理到底能用我們多長時間?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.