Considérons le code:VB.NET: question sur « l'aide » bloc
On Error Goto ErrorHandler
Using sr As StreamReader = New StreamReader(OpenFile)
str = sr.ReadToEnd
sr.Close()
End Using
Exit Sub
ErrorHandler:
S'il y a une erreur dans le bloc Using
comment voulez-vous nettoyer l'objet sr
?
L'objet sr
n'est pas dans la portée dans ErrHandler
, donc sr.Close() ne peut pas être appelé. Est-ce que le bloc Using
nettoie automatiquement les ressources même s'il y a une erreur?
Il semble que vous ayez manqué le point du bloc 'Using' ... –
@Dan: Je comprends que la variable du bloc using sera seulement dans la portée du bloc using, je ne savais pas comment beaucoup de nettoyage serait fait et si Close() serait appelé. – CJ7