[VB.NET] Gestion d'une exception

Gestion d'une exception [VB.NET] - VB/VBA/VBS - Programmation

Marsh Posté le 16-08-2005 à 16:05:49    

Bonjour!  J'ai une question à propos de la gestion d'exceptions en VB.NET.  
 
Mise en contexte:  
 
L'utilisateur ouvre une feuille sur laquelle il y a un contrôle DataGrid ainsi qu'un bouton "Retour".  Le contrôle DataGrid a un ColumnHeader un un RowHeader.  La table liée au DataGrid a une relation un à plusieurs avec une autre table dont elle est le parent.  Les règles d'intégrité référentielle sont .none afin d'empêcher la suppression d'une ligne parente sans avoir préalablement supprimé les lignes enfant.  
 
Mise en situation:  
 
L'utilisateur clique sur une RowHeader du contrôle DataGrid, sélectionnant une ligne.  Il appuie sur la touche Delete (Supprime) du clavier.  Une ViolatedConstraint Exception est lancée.  
 
Question:  
 
Comment intercepter cette exception pour ensuite envoyer un Message Box à l'utilisateur afin de le prévenir que son action est impossible et ensuite annuler son action de supression.  
 
Afin de compliquer la tâche:  
 
- C'est en fait un DataView de la table qui est lié au contrôle DataGrid.  
 
- Le DataView voit sa propriété AllowDelete à true.  
 
- Il ne faut pas empêcher l'utilisateur d'appuyer sur la touche Delete (Supprime) puisqu'il peut en avoir besoin pendant qu'il édite un des champs du contrôle DataGrid.  (On ne peut donc pas simplement utiliser l'événement keydown de Delete et annuler l'événement puisque l'utilisateur peut avoir besoin de supprimer des caractères)
 
Bref, ici, je cherche vraiment un moyen d'intercepter l'exception.  
 
Merci!  :)

Reply

Marsh Posté le 16-08-2005 à 16:05:49   

Reply

Marsh Posté le 16-08-2005 à 23:04:57    

ou bien j'ai pas compris ce que tu voulais, ou bien c'est tellement simple que je me demande si tu as un peu cherché avant [:figti]
 

Code :
  1. Try
  2.    // l'utilisateur efface une ligne parent
  3. Catch ex As ViolatedConstraintException
  4.    MessageBox.Show("prout" )
  5.    Throw // pour en informer le bloc appelant
  6. End Try



---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed