我是这样利用异常的(解耦)——你不知道异常的那些事(二)

        刚刚正权童鞋跟我抱怨说我上篇讲异常只有文字,一点例子也没有。那么这篇我就失信一下,先不对比用异常所消耗的时间,在这再给大家卖个关子。

        下面我就开始给大家做一个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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值