【发布时间】:2010-09-16 23:44:09
【问题描述】:
标题可能无法真正解释我真正想要表达的意思,无法真正想出一种方法来描述我的意思。
我想知道在使用函数之前检查函数接受的参数是否为空或空是否是一种好习惯。我有这个函数,它只是像这样包装一些哈希创建。
Public Shared Function GenerateHash(ByVal FilePath As IO.FileInfo) As String
If (FilePath Is Nothing) Then
Throw New ArgumentNullException("FilePath")
End If
Dim _sha As New Security.Cryptography.MD5CryptoServiceProvider
Dim _Hash = Convert.ToBase64String(_sha.ComputeHash(New IO.FileStream(FilePath.FullName, IO.FileMode.Open, IO.FileAccess.Read)))
Return _Hash
End Function
如您所见,我只是将 IO.Fileinfo 作为参数,在函数的开头,我正在检查以确保它不是空的。
我想知道这是一种好的做法,还是应该让它到达实际的哈希器,然后抛出异常,因为它是空的。?
谢谢。
【问题讨论】:
标签: validation function exception arguments