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

VB.NET Discussion :

probleme try catch, Exception


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut probleme try catch, Exception
    Bonjour, j ai cree une classe representant un fichier. Dans cette classe j ai definit une methode readfile permetant de lire ce fichier. Elle commence comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub readfile()
                Dim fi As FileInfo = New FileInfo(Me._path)
                If fi.Exists = False Then
                Throw New Exception("Can not find the file")
                 End If
    Dans mon appli, quand j essaye de lire un fichier j utilise donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim file1 As New Classfile(5, 4, "C:\Download\Colomn1", "NC")
            Try
                file1.readfile()
            Catch e As Exception
                Console.Error.WriteLine(e.Message)
            End Try
    En faisant cela je pensais que si le fichier en question (ici Colomn1) n existe pas, j aurais un message d erreur indiquant "Can not find the file". Or non. Il compile, mais ne me laisse pas le message ou alors je ne c pas ou le regarder.

    Si quelqu un a une idee svp ?

    Merci

  2. #2
    Expert éminent
    Avatar de bidou
    Profil pro
    Inscrit en
    mai 2002
    Messages
    3 052
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 052
    Points : 7 413
    Points
    7 413
    Par défaut
    il ne vas pas lever d'exception à la compilation

  3. #3
    Membre régulier
    Inscrit en
    mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Arf j ai pas ete clair desole.

    Il ne me laisse pas le message quand la methode file1.readfile() est appele.

    J avoue que je ne comprends tjs po

  4. #4
    Membre régulier
    Inscrit en
    mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Bonjour,

    desole de revenir sur ma question, mais je ne comprend tjs pas comment marche le traitement des exceptions.

    dans ma classe j ai la methode suivante :

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    Public Sub readfile(ByVal tab(,) As Integer)
            Dim fi As FileInfo = New FileInfo(Me._path)
            If fi.Exists = False Then
                Throw New Exception("Can not find the file")
            End If
     
            ' Open the stream read it back
            Dim sr As StreamReader = fi.OpenText
            Dim line As String
            Dim nline As Integer
            Dim ncol As Integer
            Dim Table(Me._nbrline, Me._nbrcol) As Integer
     
            For nline = 1 To Me._nbrline
                line = sr.ReadLine()
                Dim TestArray() As String = Split(line)
                For ncol = 1 To Me._nbrcol
                    Table(nline, ncol) = CInt(TestArray(ncol))
                    tab(nline, ncol) = Table(nline, ncol)
                    Console.Write(Table(nline, ncol))
                    Console.Write("  ")
                Next
                Console.WriteLine()
            Next
            sr.Close()
     
        End Sub
    Cette methode a pour but de lire un fichier. Comme vous pouvez le voir, dans les premieres lignes j indique que si le fichier n existe pas on devrait afficher le message : Can not find the file. (en tout cas c se que j essaye de faire).

    Dans mon programme, pour appeler cette methose j utilise le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim file1 As New Classfile(5, 4, "C:\Download\Colomn6", "NC")
            Dim table(file1.nbrline, file1.nbrcol) As Integer
     
            Try
                file1.readfile(table)
            Catch er As Exception
                Console.Error.WriteLine(er.Message)
            End Try
     
            Dim addition As Integer
            addition = table(1, 1) + table(5, 2)
            Console.WriteLine("result = " & addition)       
     
        End Sub
    Comme vous pouvez le voir j utilise un try catch quand j essaye de lire le fichier.

    Partant de la, si je lance mon appli et que le fichier n existe pas, je m attend a voir le message quelque part. Or je n ai pas de message, ou alors, je ne c pas ou regarder.

    Bref, j aimerais bien comprendre ce que j ai mal fait ou pas compris.

    Merchi

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : mars 2005
    Messages : 80
    Points : 89
    Points
    89
    Par défaut
    À la place d'utiliser la console pour écrire ton message, utilises un MessageBox. S'il ne l'affiche pas, c'est que l'exception n'est pas lancée ...

  6. #6
    Membre régulier
    Inscrit en
    mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Bonne idee.

    Je viens d essayer en remplacer par et effectivement il m ecrit bien le message que j ai choisi, donc l exception est lance. Mais pourquoi ne vois je pas le message dans output window si la ligne de code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.Error.WriteLine(er.Message)


    Merci

  7. #7
    Membre régulier
    Inscrit en
    mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 88
    Points : 99
    Points
    99
    Par défaut
    Je ne connais pas l'instruction :
    Console.Error.WriteLine(er.Message)

    Je connais :
    Console.WriteLine(er.Message)
    ou
    Debug.WriteLine(er.Message)

    @ +

  8. #8
    Membre régulier
    Inscrit en
    mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Effectivement avec t deux commandes j ai aussi le message d erreur. Une foi dans la Immediate Window et une foi dans la Output window. Par contre, j avais vu ce code quelque par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.Error.WriteLine(er.Message)
    mais je dois surement pas chercher ou il faut pour voir le message car je n ai pas d erreur a la compil.

  9. #9
    Membre régulier
    Inscrit en
    mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 88
    Points : 99
    Points
    99
    Par défaut
    Tu as regardé dans le journal de log d'erreur de windows ?

    J'avoue ne jamais avoir utiliser cette instruction.

  10. #10
    Membre régulier
    Inscrit en
    mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    je supose que tu parles de "error List" window. Yes j ai regarde et non c po la

    Mistere et boule de gomme. Mais au moins suis content car ca signifie que je suis pas a cote de la plaque sur la notion d utilisation des erreurs

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme try, catch, throw
    Par nico3 dans le forum Débuter
    Réponses: 11
    Dernier message: 10/12/2012, 19h21
  2. Try Catch Exception
    Par Foyus dans le forum C#
    Réponses: 3
    Dernier message: 08/10/2010, 12h55
  3. try catch exception
    Par gaut02 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/03/2009, 16h42
  4. Code erreur d'un Try, Catch (exception e)
    Par davelop dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 06/10/2008, 20h00
  5. [Débutant] Petit probleme try catch
    Par Terminator dans le forum Langage
    Réponses: 16
    Dernier message: 30/06/2005, 14h21

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