VERIFICAR SE UM ARQUIVO XML SERÁ DESSERIALIZADO.

 Tópico anterior Próximo tópico Novo tópico

VERIFICAR SE UM ARQUIVO XML SERÁ DESSERIALIZADO.

C#

 Compartilhe  Compartilhe  Compartilhe
#478143 - 29/11/2017 14:34:05

MRSILVA
MARINGA
Cadast. em:Julho/2015


Olá.

Queria verificar se um arquivo XML será desserializado, ou seja, se não vai me da erro, fiz uma função booleana que era para me retornar falso caso algum erro acontecer só que erro não cai na minha  exception, fica parado onde o erro acontece, fiz algumas alterações nos tipos de exception más não consegui. Existe uma forma melhor de fazer esse teste?

Desde já agradeço qualquer ajuda.

Segue abaixo minha função:

public bool VerificaDeserializarNFe(string caminho)
        {
          
            try
            {

                
                XmlSerializer ser = new XmlSerializer(typeof(nfeProc));
                nfeProc ret = new nfeProc();
                TextReader txtReader = (TextReader)new StreamReader(caminho);
                XmlTextReader read = new XmlTextReader(txtReader);
                //read.ReadToFollowing("item")

                read.Read();

                
                ret = (nfeProc)ser.Deserialize(read);
              
              

                txtReader.Close();


                return true;
                
            }
            catch (Exception)
            {

                return false;

            }

        }  




Resposta escolhida #478172 - 30/11/2017 15:15:26

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 30/11/2017 15:18:09 por JABA

Evite fazer desta forma, pois tratamento de erro é para tratar erro. Use um try-catch ao chamar essa função, se der erro, tu saberá que o retorno foi falso.

try {
  VerificaDeserializarNFe(string caminho);
}
catch() {
  // tratamento
}



public void VerificaDeserializarNFe(string caminho)
        {
            try
            {
                XmlSerializer ser = new XmlSerializer(typeof(nfeProc));
                nfeProc ret = new nfeProc();
                TextReader txtReader = (TextReader)new StreamReader(caminho);
                XmlTextReader read = new XmlTextReader(txtReader);
                //read.ReadToFollowing("item")

                read.Read();

                ret = (nfeProc)ser.Deserialize(read);
              
                txtReader.Close();

            }
            catch (Exception)
            {
                throw;
            }
        }  



_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#478592 - 20/12/2017 21:42:44

MRSILVA
MARINGA
Cadast. em:Julho/2015


Última edição em 20/12/2017 21:43:07 por MRSILVA

Obrigado Jaba.




 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MRSILVA em 20/12/2017 21:43:22