XmlTextreader chiusura dopo un eccezzione

lunedì 18 settembre 2006 - 17.21

bule Profilo | Junior Member

ciao a tutti io avrrei il seguente problema:

con un xmltextreader, ma potrebbe essere un qualsiasi reader, vado a leggere un file xml che potrebbe essere danneggiato quindi il comando di lettura è dentro un blocco try catch...

al verificarsi dell'eccezzione vorrei cancellare il file xml che risulta danneggiato ma non posso perchè giustamente questo è utilizzato dal reader che deve essere chiuso prima....ma è qui il problema: non posso chiamare un reader.close() dentro il blocco catch perchè il reader non è inizializzato perchè è dichiarato come variabile della classe all'inizio di tutto ma viene inizializzato solo al momento della lettura...come si fà? mi sembra un pò inelegante iniziallizzare il reader all'inizio di tutto ad un file xml temp soltanto per ingannare il compilatore e fargli veder che è inizializzato..

spero di essermi spiegato abbastanza bene...

totti240282 Profilo | Guru

dichiara il reader al di fuori del try.
C'è solo un capitano !!!!!!

bule Profilo | Junior Member

non posso dichiaralo fuori del try perchè è proprio nel momento della dichiarazione che si verifica la possibile eccezzione..

ho fatto così e funziona (IDisposable)reader.Dispose() e così liberando le risorse posso cancellare il file xml a cui si riferiva...

è buona sta soluzione?

totti240282 Profilo | Guru

impossibile tu devi dichiararlo cosi

dim reader as XXXXdatareader
C'è solo un capitano !!!!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5