ThreadStateException Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Pengecualian yang dilemparkan ketika a Thread tidak valid ThreadState untuk panggilan metode.
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
- Warisan
- Warisan
- Atribut
Contoh
Contoh berikut menunjukkan kesalahan yang menyebabkan sistem melempar .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);
}
}
}
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
Kode ini menghasilkan output berikut:
In main. Attempting to restart myThread.
Working thread...
Caught: Thread is running or terminated. Cannot restart.
Keterangan
Setelah utas dibuat, utas berada di setidaknya salah ThreadState satu status sampai berakhir.
ThreadStateException dilemparkan oleh metode yang tidak dapat melakukan operasi yang diminta karena status utas saat ini. Misalnya, mencoba menghidupkan ulang utas yang dibatalkan dengan memanggil Start utas ThreadStateExceptionyang telah dihentikan melempar .
ThreadStateException menggunakan COR_E_THREADSTATE HRESULT, yang memiliki nilai 0x80131520.
Untuk daftar nilai properti awal untuk instance ThreadStateException, silakan lihat konstruktor ThreadStateException.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ThreadStateException() |
Menginisialisasi instans ThreadStateException baru kelas dengan properti default. |
| ThreadStateException(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Menginisialisasi instans ThreadStateException baru kelas dengan data berseri. |
| ThreadStateException(String, Exception) |
Menginisialisasi instans ThreadStateException baru kelas dengan pesan kesalahan tertentu dan referensi ke pengecualian dalam yang merupakan penyebab pengecualian ini. |
| ThreadStateException(String) |
Menginisialisasi instans baru kelas ThreadStateException dengan pesan kesalahan tertentu. |
Properti
| Nama | Deskripsi |
|---|---|
| Data |
Mendapatkan kumpulan pasangan kunci/nilai yang memberikan informasi tambahan yang ditentukan pengguna tentang pengecualian. (Diperoleh dari Exception) |
| HelpLink |
Mendapatkan atau mengatur tautan ke file bantuan yang terkait dengan pengecualian ini. (Diperoleh dari Exception) |
| HResult |
Mendapatkan atau mengatur HRESULT, nilai numerik berkode yang ditetapkan ke pengecualian tertentu. (Diperoleh dari Exception) |
| InnerException |
Mendapatkan instans Exception yang menyebabkan pengecualian saat ini. (Diperoleh dari Exception) |
| Message |
Mendapatkan pesan yang menjelaskan pengecualian saat ini. (Diperoleh dari Exception) |
| Source |
Mendapatkan atau mengatur nama aplikasi atau objek yang menyebabkan kesalahan. (Diperoleh dari Exception) |
| StackTrace |
Mendapatkan representasi string dari bingkai langsung pada tumpukan panggilan. (Diperoleh dari Exception) |
| TargetSite |
Mendapatkan metode yang melemparkan pengecualian saat ini. (Diperoleh dari Exception) |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetBaseException() |
Ketika ditimpa di kelas turunan, mengembalikan Exception yang merupakan akar penyebab dari satu atau beberapa pengecualian berikutnya. (Diperoleh dari Exception) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Saat ditimpa di kelas turunan, mengatur SerializationInfo dengan informasi tentang pengecualian. (Diperoleh dari Exception) |
| GetType() |
Mendapatkan jenis runtime instans saat ini. (Diperoleh dari Exception) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Membuat dan mengembalikan representasi string dari pengecualian saat ini. (Diperoleh dari Exception) |
Acara
| Nama | Deskripsi |
|---|---|
| SerializeObjectState |
Kedaluwarsa.
Terjadi ketika pengecualian diserialisasikan untuk membuat objek status pengecualian yang berisi data berseri tentang pengecualian. (Diperoleh dari Exception) |