IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

L'exception COMException n'a pas été gérée


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut L'exception COMException n'a pas été gérée
    Bonjour,

    Lorsque j'exécute ce code, j'ai une exception de type COMException (Impossible d'accéder à 'myfilename.txt').

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    private void SaveButton_Click(object sender, EventArgs e)
    {
        SaveFileDialog saveFileDialog1 = new SaveFileDialog();     
        saveFileDialog1.InitialDirectory = @"C:\";
        saveFileDialog1.Title = "Save text Files";
        saveFileDialog1.CheckFileExists = false;
        saveFileDialog1.CheckPathExists = false;
        saveFileDialog1.FileName = "myfilename";
        saveFileDialog1.DefaultExt = "txt";
        saveFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
        saveFileDialog1.FilterIndex = 2;
        saveFileDialog1.RestoreDirectory = true;     
     
        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
        {
            string filename = saveFileDialog1.FileName;
            workSheet.SaveAs(filename);         
        }
    }

    Merci,

  2. #2
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Bonjour. Le fait que l'acccès au fichier ne soit pas possible traduit sans doute un problème de droits de l'utilisateur sur le fichier, ou le fait que celui-ci serait en lecture seule. Quoi qu'il en soit, si le message est correct, ce n'est pas un problème venant du code mais du système, même si in fine le code devra être adapté pour gérer ce cas.

    Pour l'anecdote, "COMException" est simplement une exception générique lancée par la CLI en réaction aux exceptions COM puisque ces composants sont codés en C/C++ et ne peuvent donc pas lancer d'exceptions dotnet. Dans le même genre ou trouve SEHException pour toutes les exceptions C++ non-COM. Autrement dit, quand tu reçois une COMException ou une SEHException, tu ne sais à peu près rien sur la nature exacte de l'exception. Bref, un titre tel que "Composant Excel : impossible d'accéder au fichier" serait plus indiqué pour la prochaine fois.

  3. #3
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    Bonjour,

    Le problème est que saveFileDialog1.FileName récupère le chemin entier du fichier donc lorsque je veux sauvegarder mon fichier je ne peux le faire que dans le chemin du répertoire défini dans saveFileDialog1.InitialDirectory.

    Donc, il faudrait récupérer simplement le nom du fichier en utilisant la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Path.GetFileName(filename);
    Je ne sais pas s'il existe une autre méthode?

    Merci,

Discussions similaires

  1. L'exception COMException n'a pas été gérée
    Par zone45 dans le forum Word
    Réponses: 1
    Dernier message: 13/07/2014, 16h07
  2. Réponses: 2
    Dernier message: 08/03/2008, 09h54
  3. L'exception COMException n'a pas été gérée
    Par loverdev dans le forum VB.NET
    Réponses: 5
    Dernier message: 04/01/2008, 12h25
  4. L'Exception COMException n'a pas été gérée
    Par jerome71300 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/11/2007, 11h27
  5. L'exception OleDBException n'a pas été gérée
    Par neo62matrix dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/05/2007, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo