ThreadStateException ThreadStateException ThreadStateException ThreadStateException Class

Definizione

Eccezione generata quando un Thread si trova in un ThreadState non valido per la chiamata al metodo.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

public ref class ThreadStateException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ThreadStateException : SystemException
type ThreadStateException = class
    inherit SystemException
Public Class ThreadStateException
Inherits SystemException
Ereditarietà
ThreadStateExceptionThreadStateExceptionThreadStateExceptionThreadStateException
Attributi

Esempi

Nell'esempio seguente viene mostrato un errore che causa il sistema generi un ThreadStateException.The following example demonstrates an error that causes the system to throw a ThreadStateException.

using namespace System;
using namespace System::Threading;
ref class ThreadWork
{
public:
   static void DoWork()
   {
      Console::WriteLine( "Working thread..." );
   }

};

int main()
{
   ThreadStart^ myThreadDelegate = gcnew ThreadStart( ThreadWork::DoWork );
   Thread^ myThread = gcnew 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 );
   }

}

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);
      }
   }
}
Imports System
Imports System.Threading

Public Class ThreadWork
   
   Public Shared Sub DoWork()
      Console.WriteLine("Working thread...")
   End Sub 'DoWork
End Class 'ThreadWork

Class ThreadStateTest
   
   Public Shared Sub Main()
      Dim myThreadDelegate As New ThreadStart(AddressOf ThreadWork.DoWork)
      Dim myThread As New Thread(myThreadDelegate)
      myThread.Start()
      Thread.Sleep(0)
      Console.WriteLine("In main. Attempting to restart myThread.")
      Try
         myThread.Start()
      Catch e As ThreadStateException
         Console.WriteLine("Caught: {0}", e.Message)
      End Try
   End Sub 'Main
End Class 'ThreadStateTest

L'output del codice è il seguente:This code produces the following output:

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

Commenti

Dopo aver creato un thread, è in almeno uno del ThreadState indica fino a quando non termina.Once a thread is created, it is in at least one of the ThreadState states until it terminates. ThreadStateException viene generata dai metodi che non è possibile eseguire l'operazione richiesta a causa dello stato corrente di un thread.ThreadStateException is thrown by methods that cannot perform the requested operation due to the current state of a thread. Ad esempio, il tentativo di riavvio di un thread interrotto chiamando Start su un thread che è stato terminato genera un ThreadStateException.For example, trying to restart an aborted thread by calling Start on a thread that has terminated throws a ThreadStateException.

ThreadStateException viene utilizzato il COR_E_THREADSTATE HRESULT, che ha il valore 0x80131520.ThreadStateException uses the HRESULT COR_E_THREADSTATE, which has the value 0x80131520.

Per un elenco di valori di proprietà iniziali per un'istanza di ThreadStateException, vedere il ThreadStateException costruttori.For a list of initial property values for an instance of ThreadStateException, see the ThreadStateException constructors.

Costruttori

ThreadStateException() ThreadStateException() ThreadStateException() ThreadStateException()

Inizializza una nuova istanza della classe ThreadStateException con le proprietà predefinite.Initializes a new instance of the ThreadStateException class with default properties.

ThreadStateException(SerializationInfo, StreamingContext) ThreadStateException(SerializationInfo, StreamingContext) ThreadStateException(SerializationInfo, StreamingContext) ThreadStateException(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe ThreadStateException con dati serializzati.Initializes a new instance of the ThreadStateException class with serialized data.

ThreadStateException(String) ThreadStateException(String) ThreadStateException(String) ThreadStateException(String)

Inizializza una nuova istanza della classe ThreadStateException con un messaggio di errore specificato.Initializes a new instance of the ThreadStateException class with a specified error message.

ThreadStateException(String, Exception) ThreadStateException(String, Exception) ThreadStateException(String, Exception) ThreadStateException(String, Exception)

Inizializza una nuova istanza della classe ThreadStateException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.Initializes a new instance of the ThreadStateException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Proprietà

Data Data Data Data

Ottiene una raccolta di coppie chiave-valore che fornisce informazioni aggiuntive definite dall'utente relative all'eccezione.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ottiene un messaggio che descrive l'eccezione corrente.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ottiene il metodo che genera l'eccezione corrente.Gets the method that throws the current exception.

(Inherited from Exception)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

Se utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Quando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

Ottiene il tipo di runtime dell'istanza corrente.Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Crea e restituisce una rappresentazione di stringa dell'eccezione corrente.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Eventi

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Si applica a

Vedi anche