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

ASP.NET Discussion :

[C#][2.0] Comment recuperer une erreur sur un detailview?


Sujet :

ASP.NET

  1. #1
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut [C#][2.0] Comment recuperer une erreur sur un detailview?
    Bonjour,

    je gere une table via un gridview et detail view. Or les données de cette table sont bien entendues utilisée par d'autres tables. Donc lors du delete d'un enregistrement , le clr me provoque une erreur me disant qu'il y a un probleme avec une clé étrangére.

    Cela me convient tout a fait par contre j'iamerai recuperer l'erreur et faire en sorte que celle ci soit canalisée de provoque pas la fin de l'execution.

    Je recupere bien cette erreur avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        protected void GestionDelete(object sender, DetailsViewDeletedEventArgs e)
        {
            if (e.Exception.Message != string.Empty)
            {
                information.Text = "Vous en pouvez pas supprimer ce compartiment. Il possede des occupants.";
            }
            Response.Write(e.Exception.Message);
        }
    Que je recupere avec OnItemDeleted =GestionDelete

    Mais l'erreur ensuite me provoque un plantage apres etre passé dans cette fonction.. si vous avez des idées merci d'avance,

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    La gestion des erreurs en dotnet (et pas mal d'autre langages d'ailleur) passe par les Exceptions (petite merveille). Lorsque l'une d'entre elle est lancée, elle se propage jusqu'au plus haut niveau de l'application tant qu'elle n'est pas interceptée. Si rien n'est fait par le développeur, elle va jusqu'à la couche qui lance l'application (celle-ci l'intercepte, affiche le message d'erreur que tu vois, et arrête ton application).
    Pour ton problème, il faut que tu l'interceptes toi-même via le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    try { // Ton code risquant de lancer une exception ici; }
    catch (Exception) // Ou type d'exception
    {
       // Code en cas d'erreur.
    }
    Ainsi, l'exception ne se propage pas jusqu'au plus haut niveau, et l'application continue malgrés l'erreur.

    La gestion des exception peut aller BEAUCOUP plus loins , je t'invite à fiare une recherche sur Internet là dessus, je ne pourrais pas t'expliquer tout le fonctionnement à travers un forum... Mais c'est très interessant

    J'espère avoir été suffisement clair.

    Bon courage !

  3. #3
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Merci pour ta réponse. Le probleme que je rencontrais venait du fait que j'utilisais des objets ASp deja pret en drag'n drop et que par conséquent je ne voyais aps trop ou placer justement le try catch.

    J'ai trouver une solution de contournement, mais si qq'un a trouvé une solution, je serais tres intéréssé par la méthode.

    Merci et a+,

    Arthis

Discussions similaires

  1. [AC-2007] Comment recuperer une formule EXCEL sur ACCESS?
    Par anthooooony dans le forum Access
    Réponses: 9
    Dernier message: 05/12/2011, 18h25
  2. Réponses: 2
    Dernier message: 06/05/2007, 12h52
  3. Réponses: 2
    Dernier message: 28/11/2006, 15h20
  4. [VB.NET] Comment recuperer de donnée sur une autre form?
    Par weelo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/04/2006, 13h47

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