上面这篇博客是以前写的一篇关于多返回值问题的博客,现在看来,文中介绍的方法虽然可以解决多返回值问题,但是还是有一定的缺陷。以上的方法只能将错误信息反馈给用户,并不能跟据错误信息做一些操作。就拿登录来说吧,上面的方法只能告诉用户密码错误、用户名不存在等信息,并不能跟据密码错误就清空输入密码的文本框,或者根据用户名不存在就同时清空输入用户名和密码的文本框。这说明以上方法还不够智能,我们为用户考虑的还是有点少。那么,我们该怎么办呢?下面我就用自定义异常类来解决这个问题。
我还是用上文中那种通俗易懂的语言来给大家介绍吧,下面我就以用户登录为例,所用编程语言为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
清空密码文本框注:根据具体错误执行不同的操作
Catch ex AS Exception
End Try
到目前为止,用例外处理多返回值问题才算是比较完美了。