标题可能无法真正解释我真正想表达的意思,也想不出一种方法来描述我的意思。
我想知道在使用函数之前检查函数接受的参数是否为空值或空值是否是一种好习惯。我有这个函数,它只是像这样包装一些哈希创建。
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 作为参数,在函数开始时我正在检查以确保它不是什么都不是。
我想知道这是一种好的做法,还是应该让它到达实际的哈希器,然后抛出异常,因为它是空的。?
谢谢。