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

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

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

 

我还是用上文中那种通俗易懂的语言来给大家介绍吧,下面我就以用户登录为例,所用编程语言为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

 

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

你可能感兴趣的:(编程,exception,String,Class,语言,VB.NET)