Curieux problème avec XElement.Load [Résolu]

Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 24 oct. 2007 à 19:58 - Dernière réponse : Miltiades 233 Messages postés vendredi 21 mars 2003Date d'inscription 25 octobre 2010 Dernière intervention
- 26 oct. 2007 à 14:59
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_^
Afficher la suite 

4 réponses

Répondre au sujet
cs_rodcobalt22 195 Messages postés dimanche 10 février 2002Date d'inscription 16 février 2016 Dernière intervention - 25 oct. 2007 à 10:42
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_rodcobalt22
Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 25 oct. 2007 à 10:43
0
Utile
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"..." ...?>
Commenter la réponse de Gendal67
Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 25 oct. 2007 à 10:48
0
Utile
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 !
Commenter la réponse de Gendal67
Miltiades 233 Messages postés vendredi 21 mars 2003Date d'inscription 25 octobre 2010 Dernière intervention - 26 oct. 2007 à 14:59
0
Utile
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...
Commenter la réponse de Miltiades

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.