Curieux problème avec XElement.Load

[Résolu]
Signaler
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011
-
Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010
-
Bonsoir à tous,

Je souhaite utiliser XLINQ pour rechercher des informations dans un fichier XML.
J'utilise donc le code suivant pour charger le fichier que je souhaite lire :

try
{
  urlFile =
XElement.Load(_xmlUrlFile);
}

// The file does not exist
catch (
FileNotFoundException)
{
}

Je gère dans mon code l'exception en affichant un message d'erreur à l'utilisateur et en quittant le programme.

Le problème est le suivant : lorsque 'urlFile' pointe vers un mauvais emplacement, l'exception est levée (normal), mais lorsque l'emplacement est correct, la fonction retourne immédiatemment ! +_+
Les intructions suivantes ne sont donc pas executées, et aucune exception n'est cependant levée
C'est à ne rien y comprendre

Aucune idée du pourquoi du comment, surtout que j'ai déjà utilisé cette méthode dans le passé, jamais eu de souci !
Quelqu'un a t-il une idée sur cette bizarrerie ?

Pour info, j'utilise XP Pro avec Orcas béta 2.
Le code provient d'un projet de type ClassLibrary.

Je remercie d'avance quiconque qui prendra le temps de me répondre et de m'aider

Bien Amicalement,

JacK_^

4 réponses

Messages postés
195
Date d'inscription
dimanche 10 février 2002
Statut
Membre
Dernière intervention
16 février 2016

salut


Dans les paramètre du Debug, "debeuguer >> exception" paramètre les exception "common langage runtime" en lui demandant de levé même quand s'est géré.


Regarde à paramètre également, les autres types d'erreurs pour forcer le debug à te montrer l'erreur.


Si rien ne se lève s'est que ton chemin n'est peut être pas si bon que ça.

RodCobalt22, vous salue bien
Pensez au TAG résolu ! Ainsi les réponses seront plus facile à trouver et les serial Helper iront plus vite
 PS : Pardonnez mes fautes d'orthographe (All
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

Problème réglé, j'ai trouvé la solution
Déjà commencer par mettre XDocument.Load.
La fonction retournait sans prévenir car le fichier XML de destination n'est pas valide : tapé à la main sans la balise <?xml version"..." ...?>
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

rodcobalt22> En effet, j'ai remis le code erroné en forçant l'affichage des exceptions CLR. J'obtiens bien une exception de type XmlException avec comme message "Données non valides au niveau racine. Ligne 1, position 1)"

Merci encore !
Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010

dans ce cas la je te conseil fortement de faire ceci:

try
{
  urlFile = XElement.Load(_xmlUrlFile);
}

// The file does not exist
catch (FileNotFoundException)
{
}
catch (Exception)
{
}

ainsi tu catchera toutes les exceptions ... et pas seulement les FileNotFoundException ...
et ajoute aussi un finally ca peut pas faire de mal ...

Nul ne devient grand par la guerre...