Compartir vía


ThreadStateException Clase

Definición

Excepción que se produce cuando un Thread es un ThreadState que no es válido para la llamada de método.

public ref class ThreadStateException : SystemException
public ref class ThreadStateException : Exception
public class ThreadStateException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
public class ThreadStateException : Exception
[System.Serializable]
public class ThreadStateException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ThreadStateException : SystemException
type ThreadStateException = class
    inherit SystemException
[<System.Runtime.InteropServices.ComVisible(true)>]
type ThreadStateException = class
    inherit Exception
[<System.Serializable>]
type ThreadStateException = class
    inherit SystemException
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ThreadStateException = class
    inherit SystemException
Public Class ThreadStateException
Inherits SystemException
Public Class ThreadStateException
Inherits Exception
Herencia
ThreadStateException
Herencia
ThreadStateException
Atributos

Ejemplos

En el ejemplo siguiente se muestra un error que hace que el sistema produzca una ThreadStateExceptionexcepción .

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.Threading

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

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
End Class

Este código genera el siguiente resultado:

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

Comentarios

Una vez creado un subproceso, se encuentra en al menos uno de los ThreadState estados hasta que finaliza. ThreadStateException se produce mediante métodos que no pueden realizar la operación solicitada debido al estado actual de un subproceso. Por ejemplo, al intentar reiniciar un subproceso anulado mediante una llamada a Start en un subproceso que ha terminado, se produce una ThreadStateExceptionexcepción .

ThreadStateException usa el COR_E_THREADSTATE HRESULT, que tiene el valor 0x80131520.

Para obtener una lista de valores de propiedad iniciales de una instancia de ThreadStateException, consulte el ThreadStateException constructores.

Constructores

ThreadStateException()

Inicializa una nueva instancia de la clase ThreadStateException con propiedades predeterminadas.

ThreadStateException(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase ThreadStateException con datos serializados.

ThreadStateException(String)

Inicializa una nueva instancia de la clase ThreadStateException con el mensaje de error especificado.

ThreadStateException(String, Exception)

Inicializa una nueva instancia de la clase ThreadStateException con el mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción.

Propiedades

Data

Obtiene una colección de pares clave/valor que proporciona información definida por el usuario adicional sobre la excepción.

(Heredado de Exception)
HelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.

(Heredado de Exception)
HResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.

(Heredado de Exception)
InnerException

Obtiene la instancia Exception que produjo la excepción actual.

(Heredado de Exception)
Message

Obtiene un mensaje que describe la excepción actual.

(Heredado de Exception)
Source

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.

(Heredado de Exception)
StackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.

(Heredado de Exception)
TargetSite

Obtiene el método que produjo la excepción actual.

(Heredado de Exception)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetBaseException()

Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.

(Heredado de Exception)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Cuando se invalida en una clase derivada, establece SerializationInfo con información sobre la excepción.

(Heredado de Exception)
GetType()

Obtiene el tipo de tiempo de ejecución de la instancia actual.

(Heredado de Exception)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Crea y devuelve una representación de cadena de la excepción actual.

(Heredado de Exception)

Eventos

SerializeObjectState
Obsoletos.

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.

(Heredado de Exception)

Se aplica a

Consulte también