2011-04-14 4 views
0

Qu'est-ce que cela signifie avec le type d'exception?Mysterious InvalidOperationException

"L'opération Annuler a rencontré un contexte différent de celui appliqué dans l'opération Set correspondante."

J'ai passé plus de 5 heures à essayer de trouver où se pose exception ((

mise à jour

Désolé pour le misinformation..i mistake..but ne peut pas trouvés comprendre comment cela se produit

Dans thread principal créé fil de travail qui créent un nouveau formulaire et appelle form.showDialog .. Après l'appel de formulaire.Fermer l'application meurt: ((

+1

Il serait vraiment utile si vous expliquiez d'où provenait l'exception ... quelles technologies vous utilisez, à quoi ressemble le code, à quoi ressemble la trace de la pile, etc. –

+1

Si vous passez 5 heures à essayer de trouver une solution, vous devriez passer plus de 1 minute à formuler votre question. Personne ne peut vous aider avec ce que vous avez écrit. Donnez des exemples de code et dites-nous ce que vous faites! – Christian

+0

J'utilise .net 4.0 framewwork Je ne peux pas trouver où l'exception exacte se pose parce que je attrape seulement l'exception comme 'non manipulé' sans aucune information de ligne de code ou e.t.c – void

Répondre

0

Une exception est un type de message envoyé pour informer que quelque chose de mauvais a hap planté. Il a généralement des informations supplémentaires sur la mauvaise situation.

C'est comme une bulle venant de l'eau pour faire surface. Si personne ne le catch, alors il vous est montré (ici le nom est unhandled exception).

Vous devriez éviter unhandled exception s dans votre code et penser à toutes les situations difficiles et faire quelque chose pour eux. Par exemple, si votre programme doit écrire quelque chose sur un CD et qu'il n'y a pas de CD dans le CD-ROM, vous devriez montrer un message à l'utilisateur et lui dire de mettre un CD dans le CD-ROM. Ce serait quelque chose comme ceci dans votre code:

try 
{ 
    // Copy file to CD 
    // Show message: File Copied successfully 
} 
catch (Exception ex) 
{ 
    // Something wrong happened: there's no CD in CD-ROM, CD has not enough space... 
    // Show message: Cannot copy file! 
} 

Dans l'exemple ci-dessus ex est de type de Exception et a quelques détails au sujet de la mauvaise situation. Comme vous le voyez Après la ligne // Copy file to CD j'essaye de montrer un message de succès à l'utilisateur. C'est parce que dès que nous échouons à la ligne // Copy file to CD programme va reprendre de catch partie, parce que nous avons la mauvaise situation et avons des informations à ce sujet. Si vous n'utilisez pas try/catch dans l'exemple ci-dessus et que vous l'utilisez dans un autre code, vous avez la chance d'obtenir le exception avant qu'il ne devienne un unhandled exception.

+0

je sais comment utiliser try/catch mais je ne trouve pas paix du code où l'exception peut survenir ..par exemple si je wrap essayer/attraper le code qui exécute un autre thread et l'exception a été jeté dans un autre trhead try/cathc ne m'a pas aidé ( – void

+0

Des exceptions sont jetées sur le thread qui a exécuté le code buggy.Si vous avez besoin de savoir à ce sujet un autre thread vous devez utiliser un objet partagé et signaler à l'autre thread que quelque chose de mal est arrivé. – Xaqron