Ric*_*eri 0 .net vb.net error-handling try-catch
我正在寻找以下最有效和最优雅的方式:
该函数将反序列化XML对象.
主要可能的结果是:
如果我这样写,如果文件损坏,读者将不会被关闭.如果我在finally块中写入reader.close(),它会在给它分配值之前给出一个关于使用read的警告.
那么,我该如何解决这个问题?
Public Function DeSerializzaXML(ByVal FileName As String, ByRef tmpObj As Object, ByVal tmpClass As Type) As Boolean
Dim serializer As XmlSerializer
Dim reader As StreamReader
Dim tmpSuccess As Boolean = False
Try
serializer = New XmlSerializer(tmpClass)
reader = New StreamReader(FileName)
tmpObj = serializer.Deserialize(reader)
reader.Close()
tmpSuccess = True
Catch ex As Exception
AggiungiRigaSuFile(ErroriPath, FileName + ", " + ex.Message, Configurazione.DiagnosticaOff, True)
Finally
End Try
Return tmpSuccess
End Function
Run Code Online (Sandbox Code Playgroud)