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

VB.NET Discussion :

Personnalisation message d'erreur [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Personnalisation message d'erreur
    Bonjour à tous.

    Je me suis lancé dans la création d'un petit soft pour traiter des courbes issus de fichier .csv
    Finalisé ou enfin presque .

    Le soft permet d'importé deux fichés .csv et faire plein de chose avec, cella fonctionne très bien.
    Le petit bémol est que je vais le diffuser à plusieurs personnes et donc celui-ci va être trituré dans tous les sens, il y a de forte chance que des erreurs d’exécution vont faire éruption.

    j'ai déjà ma petite idée, forcement l'un d'eux va vouloir importer le mauvais .csv juste pour voir ce qu'il va se passer.

    Voila pourquoi j'aimerais savoir comment générer des messages personnalisé lors d'erreur d'exécution.

    j'ai déjà cherche mais ça reste vague

    je pence utiliser (Try...Cath) mais je ne comprend pas vraiment comment ça marche

    Maintenant je ne sais pas se qui est possible, soit une code qui permet de gérer n'importe qu'elle erreur à n'importe qu'elle moment du scripte, ou bien cibler les SUB sensible à vous de me dir.

    Voici par exemple un petit morceau du soft qui me permet d'importer mes .csv dans des datagrid
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    '********************************importer Paire ************************************************
        Public Sub importation_paire()
     
            '*******************************config recherche de fichier************************
            Dim fileName As String
     
            OpenFileDialog1.Multiselect = False
            OpenFileDialog1.FileName = String.Empty
            OpenFileDialog1.FilterIndex = 2
            OpenFileDialog1.RestoreDirectory = True
            OpenFileDialog1.Filter = "Fichiers texte|*.csv|Tous les fichiers|*.*"
     
            '****************************importation dans table dt_fulldata********************
     
            MsgBox("Ouvrir le fichier FullData.csv")
     
            If (OpenFileDialog1.ShowDialog() = DialogResult.OK) Then
     
                fileName = OpenFileDialog1.FileName
                Dim SR_fulldata As StreamReader = New StreamReader(fileName)
                Dim line As String = SR_fulldata.ReadLine()
                Dim strArray As String() = line.Split(";"c)
                Dim row As DataRow
     
                For Each s As String In strArray
                    dt_fulldata.Columns.Add(New DataColumn())
                Next
     
                row = dt_fulldata.NewRow()
                row.ItemArray = line.Split(";"c)
                dt_fulldata.Rows.Add(row)
     
                Do
                    line = SR_fulldata.ReadLine
                    If Not line = String.Empty Then
                        row = dt_fulldata.NewRow()
                        row.ItemArray = line.Split(";"c)
                        dt_fulldata.Rows.Add(row)
                    Else
                        Exit Do
                    End If
                Loop
     
                dt_fulldata.Rows(1).Delete()
     
                '***********************importation dans table dt_data************************
     
                MsgBox("Ouvrir le fichier data.csv")
     
                If (OpenFileDialog1.ShowDialog() = DialogResult.OK) Then
                    fileName = OpenFileDialog1.FileName
                    Dim SR_data As StreamReader = New StreamReader(fileName)
     
                    Dim line2 As String = SR_data.ReadLine()
                    Dim strArray2 As String() = line2.Split(";"c)
                    Dim row2 As DataRow
     
                    For Each s As String In strArray2
                        dt_data.Columns.Add(New DataColumn())
                    Next
                    dt_data.Columns.Add(New DataColumn())
     
     
                    row2 = dt_data.NewRow()
                    row2.ItemArray = line2.Split(";"c)
                    dt_data.Rows.Add(row2)
     
     
                    Do
                        line2 = SR_data.ReadLine
                        If Not line2 = String.Empty Then
                            row2 = dt_data.NewRow()
                            row2.ItemArray = line2.Split(";"c)
                            dt_data.Rows.Add(row2)
                        Else
                            line2 = SR_data.ReadLine
                            If Not line2 = String.Empty Then
                                row2 = dt_data.NewRow()
                                row2.ItemArray = line2.Split(";"c)
                                dt_data.Rows.Add(row2)
                            Else
                                Exit Do
                            End If
                        End If
                    Loop
     
                  et ...
    Merci d'avance.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Résolu
    Voila, je viens de trouver une solution

    j'ai effectivement utilisé Try et Catch cella à l’air de bien fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Try 
    'mon code
     Catch ex As Exception
                MsgBox("mon msg")
                Application.Restart()
    End Try
    Il me reste juste une dernière question, cette solution intercepte toute les exceptions ou est-il nécessaire que je rajoute d'autre catch ?

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Employé seul

    Ramasse toute les exceptions qui passent. Tu peux toujours utiliser la classe Exception du Framework, et ton objet ex pour trouver c'est quelle exception. Ceci dit,
    tu peux intercepter une exception spécifique, en la désignant explicitement avant le catch as exception

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Try
       catch ex as InvalidCastException 'Celle-ci est fréquente, haïssable, surtout au début. Elle devient vite inoubliable
          messagebox.show ("Il y a une conversion d'un type de données à une autre qui ne fonctionne pas")
       catch ex as indexoutofrangeexception 
          messagebox.show ("Il semblerait que votre compteur, ou votre index de tableau est à l'extérieur des limites prévues")
       catch ex as zerodivideexception
          messagebox.show ("Le programme a essayé de diviser par zéro")
       Catch ex As Exception
                MsgBox("mon msg")
                Application.Restart()
    End Try
    Dans ce cas. le dernier catch va ramasser juste les exceptions non désignées avant lui.

    Tu peux continuer d'utiliser la fonction MsgBox de VB6-VBA, mais elle a été maintenue dans l'idée de préserver la compatibilité. La classe MesssageBox du Framework est plus intéressante à cet égard.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Bonsoir et merci pour ce complément.

    Je vais me gardé ça de côté pour mes débug perso.

    Mon soft étant fonctionnel, (les seuls erreurs pouvant apparaître seront forcément lier à une fausse manipulation de l'utilisateur, lors de l'importation des fichiers .csv).

    Je vais donc resté dans la simplicité avec :


    Pour la classe MesssageBox, je ne connaissais pas donc je vais me pencher sur la question.

    Merci pour ta réponse.

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

Discussions similaires

  1. Oracle : Personnalisation messages d'erreur
    Par didate dans le forum Administration
    Réponses: 2
    Dernier message: 10/07/2014, 14h21
  2. Personnaliser message d'erreur d'access
    Par Michel Hubert dans le forum Access
    Réponses: 7
    Dernier message: 11/01/2014, 18h28
  3. personnaliser message d'erreur infopath forms services
    Par ahmedmido dans le forum InfoPath
    Réponses: 2
    Dernier message: 03/06/2008, 12h47
  4. Personnaliser message d'erreur
    Par gbzmt dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/03/2008, 10h29
  5. Personnaliser message d'erreurs.
    Par gentoo dans le forum VBA Access
    Réponses: 5
    Dernier message: 26/05/2007, 16h03

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