Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ThreadStateException, classe

Exception qui est levée lorsque Thread est dans un état ThreadState non valide pour l'appel de méthode.

System.Object
  System.Exception
    System.SystemException
      System.Threading.ThreadStateException

Espace de noms :  System.Threading
Assembly :  mscorlib (dans mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ThreadStateException : SystemException

Le type ThreadStateException expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par XNA FrameworkThreadStateException()Initialise une nouvelle instance de la classe ThreadStateException avec des propriétés par défaut.
Méthode publiquePris en charge par XNA FrameworkThreadStateException(String)Initialise une nouvelle instance de la classe ThreadStateException avec un message d'erreur spécifié.
Méthode protégéeThreadStateException(SerializationInfo, StreamingContext)Initialise une nouvelle instance de la classe ThreadStateException avec des données sérialisées.
Méthode publiquePris en charge par XNA FrameworkThreadStateException(String, Exception)Initialise une nouvelle instance de la classe ThreadStateException avec un message d'erreur spécifié et une référence à l'exception interne qui est à l'origine de cette exception.
Début
  NomDescription
Propriété publiqueDataObtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l'utilisateur sur l'exception. (Hérité de Exception.)
Propriété publiqueHelpLinkObtient ou définit un lien vers le fichier d'aide associé à cette exception. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkHResultObtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkInnerExceptionObtient l'instance Exception qui a provoqué l'exception actuelle. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkMessageObtient un message qui décrit l'exception actuelle. (Hérité de Exception.)
Propriété publiqueSourceObtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkStackTraceObtient une représentation sous forme de chaîne des frames immédiates sur la pile des appels. (Hérité de Exception.)
Propriété publiqueTargetSiteObtient la méthode qui lève l'exception actuelle. (Hérité de Exception.)
Début
  NomDescription
Méthode publiquePris en charge par XNA FrameworkEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéePris en charge par XNA FrameworkFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetBaseExceptionEn cas de substitution dans une classe dérivée, retourne Exception qui est à l'origine d'une ou de plusieurs exceptions suivantes. (Hérité de Exception.)
Méthode publiquePris en charge par XNA FrameworkGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetObjectDataEn cas de substitution dans une classe dérivée, définit SerializationInfo avec des informations sur l'exception. (Hérité de Exception.)
Méthode publiquePris en charge par XNA FrameworkGetTypeObtient le type au moment de l'exécution de l'instance actuelle. (Hérité de Exception.)

Dans XNA Framework 3.0, ce membre est hérité de Object.GetType().
Méthode protégéePris en charge par XNA FrameworkMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkToStringCrée et retourne une chaîne représentant l'exception en cours. (Hérité de Exception.)
Début
  NomDescription
Événement protégéSerializeObjectStateSe produit lorsqu'une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées relatives à l'exception. (Hérité de Exception.)
Début

Une fois qu'un thread est créé, il présente au moins un des états ThreadState définis, jusqu'à ce qu'il s'arrête. ThreadStateException est levé par les méthodes qui ne peuvent pas effectuer l'opération demandée en raison de l'état actuel d'un thread. Par exemple, la tentative de redémarrer un thread abandonné en appelant Start sur un thread qui s'est arrêté lève ThreadStateException.

ThreadStateException utilise HRESULT COR_E_THREADSTATE, dont la valeur est 0x80131520.

Pour obtenir une liste des valeurs initiales des propriétés d'une instance de ThreadStateException, consultez les constructeurs ThreadStateException.

L'exemple suivant illustre une erreur provoquant la levée par le système de ThreadStateException.


using System;
using System.Threading;

public class ThreadWork 
{
public static void DoWork()
   {
   Console.WriteLine("Working thread..."); 
   }
}

class ThreadStateTest
{
public static void Main()
   {
   ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
   Thread myThread = new Thread(myThreadDelegate);
   myThread.Start();
   Thread.Sleep(0);
   Console.WriteLine("In main. Attempting to restart myThread.");
   try 
      {
      myThread.Start();
      }
      catch(ThreadStateException e)
      {
      Console.WriteLine("Caught: {0}", e.Message);
      }
   }
}


Ce code génère la sortie suivante :

 In main. Attempting to restart myThread.
     Working thread...
     Caught: Thread is running or terminated. Cannot restart.

.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.