ThreadStateException クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class ThreadStateException Inherits SystemException
[SerializableAttribute] [ComVisibleAttribute(true)] public class ThreadStateException : SystemException
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class ThreadStateException : public SystemException

スレッドは、作成されてから終了するまで少なくとも 1 つの ThreadState 状態になります。メソッドが、スレッドの現在の状態によって要求された操作が実行できない場合、ThreadStateException をスローします。たとえば、終了したスレッドで Start を呼び出してスレッドの中断を再開しようとすると、ThreadStateException がスローされます。
ThreadStateException は、値 0x80131520 の HRESULT COR_E_THREADSTATE を使用します。
ThreadStateException のインスタンスの初期プロパティ値の一覧については、ThreadStateException コンストラクタのトピックを参照してください。

ThreadStateException がスローされる原因となるエラーの例を次に示します。
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
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); } } }
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 ); } }
import System.*; import System.Threading.*; public class ThreadWork { public static void DoWork() { Console.WriteLine("Working thread..."); } //DoWork } //ThreadWork class ThreadStateTest { public static void main(String[] args) { ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork); System.Threading.Thread myThread = new System.Threading.Thread(myThreadDelegate); myThread.Start(); System.Threading.Thread.Sleep(0); Console.WriteLine("In main. Attempting to restart myThread."); try { myThread.Start(); } catch (ThreadStateException e) { Console.WriteLine("Caught: {0}", e.get_Message()); } } //main } //ThreadStateTest

System.Exception
System.SystemException
System.Threading.ThreadStateException


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ThreadStateException コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)


このコンストラクタは、新しいインスタンスの Message プロパティを初期化し、その値として "スレッドの現在の状態が原因で、要求された操作をそのスレッドで実行できません" などのエラーを説明するシステム提供のメッセージを指定します。このメッセージは、システムの現在のカルチャを考慮して指定します。
ThreadStateException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ThreadStateException コンストラクタ (SerializationInfo, StreamingContext)
アセンブリ: mscorlib (mscorlib.dll 内)

Dim info As SerializationInfo Dim context As StreamingContext Dim instance As New ThreadStateException(info, context)


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ThreadStateException コンストラクタ (String, Exception)
アセンブリ: mscorlib (mscorlib.dll 内)

Dim message As String Dim innerException As Exception Dim instance As New ThreadStateException(message, innerException)

前の例外の直接の結果としてスローされる例外については、InnerException プロパティに、前の例外への参照が格納されます。InnerException プロパティは、コンストラクタに渡されたものと同じ値を返します。InnerException プロパティによって内部例外値がコンストラクタに渡されなかった場合は、null 参照 (Visual Basic では Nothing) を返します。
ThreadStateException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ThreadStateException コンストラクタ (String)
アセンブリ: mscorlib (mscorlib.dll 内)


このコンストラクタは、新しいインスタンスの Message プロパティを message パラメータを使用して初期化します。
ThreadStateException のインスタンスの初期プロパティ値を次の表に示します。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ThreadStateException コンストラクタ

名前 | 説明 |
---|---|
ThreadStateException () | ThreadStateException クラスの新しいインスタンスを既定のプロパティを使用して初期化します。 .NET Compact Framework によってサポートされています。 |
ThreadStateException (String) | 指定したエラー メッセージを使用して、ThreadStateException クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
ThreadStateException (SerializationInfo, StreamingContext) | シリアル化したデータを使用して、ThreadStateException クラスの新しいインスタンスを初期化します。 |
ThreadStateException (String, Exception) | 指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、ThreadStateException クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |

ThreadStateException プロパティ

名前 | 説明 | |
---|---|---|
![]() | Data | 例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。 ( Exception から継承されます。) |
![]() | HelpLink | 例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 ( Exception から継承されます。) |
![]() | InnerException | 現在の例外を発生させた Exception インスタンスを取得します。 ( Exception から継承されます。) |
![]() | Message | 現在の例外を説明するメッセージを取得します。 ( Exception から継承されます。) |
![]() | Source | エラーの原因となったアプリケーションまたはオブジェクトの名前を取得または設定します。 ( Exception から継承されます。) |
![]() | StackTrace | 現在の例外がスローされたときにコール スタックにあったフレームの文字列形式を取得します。 ( Exception から継承されます。) |
![]() | TargetSite | 現在の例外をスローするメソッドを取得します。 ( Exception から継承されます。) |


ThreadStateException メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetBaseException | 派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 ( Exception から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetObjectData | 派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。 ( Exception から継承されます。) |
![]() | GetType | 現在のインスタンスのランタイム型を取得します。 ( Exception から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の例外の文字列形式を作成して返します。 ( Exception から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ThreadStateException メンバ
メソッドの呼び出しで Thread が無効な ThreadState である場合は、例外がスローされます。
ThreadStateException データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | ThreadStateException | オーバーロードされます。 ThreadStateException クラスの新しいインスタンスを初期化します。 |


名前 | 説明 | |
---|---|---|
![]() | Data | 例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。(Exception から継承されます。) |
![]() | HelpLink | 例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。(Exception から継承されます。) |
![]() | InnerException | 現在の例外を発生させた Exception インスタンスを取得します。(Exception から継承されます。) |
![]() | Message | 現在の例外を説明するメッセージを取得します。(Exception から継承されます。) |
![]() | Source | エラーの原因となったアプリケーションまたはオブジェクトの名前を取得または設定します。(Exception から継承されます。) |
![]() | StackTrace | 現在の例外がスローされたときにコール スタックにあったフレームの文字列形式を取得します。(Exception から継承されます。) |
![]() | TargetSite | 現在の例外をスローするメソッドを取得します。(Exception から継承されます。) |


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetBaseException | 派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 (Exception から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetObjectData | 派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。 (Exception から継承されます。) |
![]() | GetType | 現在のインスタンスのランタイム型を取得します。 (Exception から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の例外の文字列形式を作成して返します。 (Exception から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- ThreadStateExceptionのページへのリンク