巧用例外处理多返回值问题(补充)

前端之家收集整理的这篇文章主要介绍了巧用例外处理多返回值问题(补充)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

博客链接巧用例外处理多返回值问题

上面这篇博客是以前写的一篇关于多返回值问题的博客,现在看来,文中介绍的方法虽然可以解决多返回值问题,但是还是有一定的缺陷。以上的方法只能将错误信息反馈给用户,并不能跟据错误信息做一些操作。就拿登录来说吧,上面的方法只能告诉用户密码错误用户名不存在等信息,并不能跟据密码错误就清空输入密码的文本框,或者根据用户名不存在就同时清空输入用户名和密码的文本框。这说明以上方法还不够智能,我们为用户考虑的还是有点少。那么,我们该怎么办呢?下面我就用自定义异常类来解决这个问题。

我还是用上文中那种通俗易懂的语言来给大家介绍吧,下面我就以用户登录为例,所用编程语言为VB.NET。

首先,我们自定义一个异常类。注意:自定义的异常类必须继承ApplicationException类

''' <summary>
''' 密码错误
''' </summary>
''' <remarks></remarks>
Public Class WrongPasswordException : Inherits ApplicationException
    Public Sub New()
        MyBase.New()
    End Sub
    Public Sub New(ByVal message As String)
        MyBase.New(message)
    End Sub
    Public Sub New(ByVal message As String,ByVal innerEx As Exception)
        MyBase.New(message,innerEx)
    End Sub
End Class


然后登录函数部分:

If密码错误 Then

Throw New WrongPasswordException("密码错误")

End If

……

……

……

最后调用登录函数部分:

Try

调用登录函数

Catch ex AS WrongPasswordException

MsgBox(ex.Message) 注:告诉用户密码错误

清空密码文本框注:根据具体错误执行不同的操作

Catch ex AS Exception

MsgBox(“未知错误导致用户登录失败”)

End Try

到目前为止,用例外处理多返回值问题才算是比较完美了。

猜你在找的VB相关文章