NotImplementedException 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 metode atau operasi yang diminta tidak diimplementasikan.
public ref class NotImplementedException : Exception
public ref class NotImplementedException : SystemException
public class NotImplementedException : Exception
public class NotImplementedException : SystemException
[System.Serializable]
public class NotImplementedException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class NotImplementedException : SystemException
type NotImplementedException = class
inherit Exception
type NotImplementedException = class
inherit SystemException
[<System.Serializable>]
type NotImplementedException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NotImplementedException = class
inherit SystemException
Public Class NotImplementedException
Inherits Exception
Public Class NotImplementedException
Inherits SystemException
- Warisan
- Warisan
- Atribut
Contoh
Contoh berikut melemparkan pengecualian ini untuk metode yang belum dikembangkan.
static void Main(string[] args)
{
try
{
FutureFeature();
}
catch (NotImplementedException notImp)
{
Console.WriteLine(notImp.Message);
}
}
static void FutureFeature()
{
// Not developed yet.
throw new NotImplementedException();
}
open System
let futureFeature () =
// Not developed yet.
raise (NotImplementedException())
[<EntryPoint>]
let main _ =
try
futureFeature ()
with :? NotImplementedException as notImp ->
printfn $"{notImp.Message}"
0
Sub Main()
Try
FutureFeature()
Catch NotImp As NotImplementedException
Console.WriteLine(NotImp.Message)
End Try
End Sub
Sub FutureFeature()
' not developed yet.
Throw New NotImplementedException()
End Sub
Keterangan
Pengecualian NotImplementedException dilemparkan ketika metode tertentu, mendapatkan aksesor, atau mengatur aksesor hadir sebagai anggota jenis tetapi tidak diimplementasikan.
NotImplementedException menggunakan implementasi Object.Equals default, yang mendukung kesetaraan referensi. Untuk daftar nilai awal sebuah instans NotImplementedException, lihat konstruktor NotImplementedException.
Melempar pengecualian
Anda dapat memilih untuk melemparkan NotImplementedException pengecualian dalam properti atau metode dalam jenis Anda sendiri ketika anggota masih dalam pengembangan dan hanya akan diterapkan nanti dalam kode produksi.
Mengatasi pengecualian
Pengecualian NotImplementedException menunjukkan bahwa metode atau properti yang Anda coba panggil tidak memiliki implementasi dan karenanya tidak menyediakan fungsionalitas. Akibatnya, Anda tidak boleh menangani kesalahan ini dalam blok try/catch . Sebagai gantinya, Anda harus menghapus pemanggilan anggota dari kode Anda. Anda dapat menyertakan panggilan ke anggota saat diimplementasikan dalam versi produksi pustaka.
Dalam beberapa kasus, NotImplementedException pengecualian mungkin tidak digunakan untuk menunjukkan fungsionalitas yang masih dalam pengembangan di pustaka praproduksi. Namun, ini masih menunjukkan bahwa fungsionalitas tidak tersedia, dan Anda harus menghapus pemanggilan anggota dari kode Anda.
NotImplementedException dan jenis pengecualian lainnya
.NET juga menyertakan dua jenis pengecualian lainnya, NotSupportedException dan PlatformNotSupportedException, yang menunjukkan bahwa tidak ada implementasi untuk anggota tertentu dari jenis. Anda harus menggunakan salah satu dari ini alih-alih NotImplementedException pengecualian dalam kondisi berikut:
Lemparkan pengecualian PlatformNotSupportedException di platform yang tidak mendukung fungsionalitas jika Anda telah merancang tipe yang memiliki satu atau lebih anggota yang tersedia di beberapa platform atau versi tetapi tidak di yang lainnya.
NotSupportedException Berikan pengecualian jika implementasi anggota antarmuka atau penimpaan ke metode kelas dasar abstrak tidak dimungkinkan.
Misalnya, metode Convert.ToInt32(DateTime) melemparkan pengecualian NotSupportedException karena tidak ada konversi yang bermakna antara tanggal dan waktu dan bilangan bulat bertanda 32-bit. Metode harus ada dalam kasus ini karena Convert kelas mengimplementasikan IConvertible antarmuka.
Anda juga harus memberikan NotSupportedException pengecualian jika Anda telah menerapkan kelas dasar abstrak dan menambahkan anggota baru ke dalamnya yang harus ditimpa oleh kelas turunan. Dalam hal ini, menjadikan anggota abstrak menyebabkan subkelas yang ada gagal dimuat.
Konstruktor
| Nama | Deskripsi |
|---|---|
| NotImplementedException() |
Menginisialisasi instans NotImplementedException baru kelas dengan properti default. |
| NotImplementedException(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Menginisialisasi instans NotImplementedException baru kelas dengan data berseri. |
| NotImplementedException(String, Exception) |
Menginisialisasi instans NotImplementedException baru kelas dengan pesan kesalahan tertentu dan referensi ke pengecualian dalam yang merupakan penyebab pengecualian ini. |
| NotImplementedException(String) |
Menginisialisasi instans baru kelas NotImplementedException 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) |