ThreadStateException Clase

Definición

Excepción que se produce cuando un Thread objeto está en un no válido ThreadState para la llamada al método.

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

Ejemplos

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

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 la siguiente salida:

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

Comentarios

Una vez creado un subproceso, se encuentra al menos en 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 para una instancia de ThreadStateException, vea los ThreadStateException constructores.

Constructores

Nombre Description
ThreadStateException()

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

ThreadStateException(SerializationInfo, StreamingContext)

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

ThreadStateException(String, Exception)

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

ThreadStateException(String)

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

Propiedades

Nombre Description
Data

Obtiene una colección de pares clave-valor que proporcionan información adicional definida por el usuario 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 Exception instancia que provocó la excepción actual.

(Heredado de Exception)
Message

Obtiene un mensaje que describe la excepción actual.

(Heredado de Exception)
Source

Obtiene o establece el nombre de la aplicación o el objeto que provoca el error.

(Heredado de Exception)
StackTrace

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

(Heredado de Exception)
TargetSite

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

(Heredado de Exception)

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetBaseException()

Cuando se reemplaza en una clase derivada, devuelve la Exception causa principal de una o varias excepciones posteriores.

(Heredado de Exception)
GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Cuando se reemplaza en una clase derivada, establece con SerializationInfo 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 Objectactual.

(Heredado de Object)
ToString()

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

(Heredado de Exception)

Eventos

Nombre Description
SerializeObjectState

Se produce cuando se serializa una excepción para crear un objeto de estado de excepción que contiene datos serializados sobre la excepción.

(Heredado de Exception)

Se aplica a

Consulte también