ArgumentException 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 salah satu argumen yang diberikan ke metode tidak valid.
public ref class ArgumentException : Exception
public ref class ArgumentException : SystemException
public class ArgumentException : Exception
public class ArgumentException : SystemException
[System.Serializable]
public class ArgumentException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArgumentException : SystemException
type ArgumentException = class
inherit Exception
type ArgumentException = class
inherit SystemException
type ArgumentException = class
inherit SystemException
interface ISerializable
[<System.Serializable>]
type ArgumentException = class
inherit SystemException
interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArgumentException = class
inherit SystemException
interface ISerializable
Public Class ArgumentException
Inherits Exception
Public Class ArgumentException
Inherits SystemException
- Warisan
- Warisan
- Turunan
- Atribut
- Penerapan
Contoh
Contoh berikut menunjukkan cara melempar dan menangkap ArgumentException. Ini menggunakan ArgumentException.GetType(). Properti nama untuk menampilkan nama objek pengecualian, dan juga menggunakan Message properti untuk menampilkan teks pesan pengecualian.
using namespace System;
static int DivideByTwo(int num)
{
// If num is an odd number, throw an ArgumentException.
if ((num & 1) == 1)
throw gcnew ArgumentException(String::Format("{0} is not an even number", num),
"num");
// num is even, return half of its value.
return num / 2;
}
void main()
{
// Define some integers for a division operation.
array<int>^ values = { 10, 7 };
for each (int value in values) {
try {
Console::WriteLine("{0} divided by 2 is {1}", value, DivideByTwo(value));
}
catch (ArgumentException^ e) {
Console::WriteLine("{0}: {1}", e->GetType()->Name, e->Message);
}
Console::WriteLine();
}
}
// This example displays the following output:
// 10 divided by 2 is 5
//
// ArgumentException: 7 is not an even number
// Parameter name: num
using System;
public class Example
{
static void Main()
{
// Define some integers for a division operation.
int[] values = { 10, 7 };
foreach (var value in values) {
try {
Console.WriteLine("{0} divided by 2 is {1}", value, DivideByTwo(value));
}
catch (ArgumentException e) {
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message);
}
Console.WriteLine();
}
}
static int DivideByTwo(int num)
{
// If num is an odd number, throw an ArgumentException.
if ((num & 1) == 1)
throw new ArgumentException(String.Format("{0} is not an even number", num),
"num");
// num is even, return half of its value.
return num / 2;
}
}
// This example displays the following output:
// 10 divided by 2 is 5
//
// ArgumentException: 7 is not an even number
// Parameter name: num
open System
let divideByTwo num =
// If num is an odd number, throw an ArgumentException.
if num % 2 = 1 then
invalidArg "num" $"{num} is not an even number"
// num is even, return half of its value.
num / 2;
// Define some integers for a division operation.
let values = [ 10; 7 ]
for value in values do
try
printfn $"{value} divided by 2 is {divideByTwo value}"
with
| :? ArgumentException as e ->
printfn $"{e.GetType().Name}: {e.Message}"
printfn ""
// This example displays the following output:
// 10 divided by 2 is 5
//
// ArgumentException: 7 is not an even number (Parameter 'num')
Public Class Example
Public Shared Sub Main()
' Define some integers for a division operation.
Dim values() As Integer = { 10, 7 }
For Each value In values
Try
Console.WriteLine("{0} divided by 2 is {1}", value, DivideByTwo(value))
Catch e As ArgumentException
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message)
End Try
Console.WriteLine()
Next
End Sub
Private Shared Function DivideByTwo(ByVal num As Integer) As Integer
' If num is an odd number, throw an ArgumentException.
If (num And 1) = 1 Then
Throw New ArgumentException(String.Format("{0} is not an even number", num),
"num")
End If
Return num \ 2
End Function
End Class
' The example displays the following output:
' 10 divided by 2 is 5
'
' ArgumentException: 7 is not an even number
' Parameter name: num
Keterangan
ArgumentException dilemparkan ketika metode dipanggil dan setidaknya salah satu argumen yang diteruskan tidak memenuhi spesifikasi parameter dari metode yang disebut. Properti ParamName mengidentifikasi argumen yang tidak valid.
Paling umum, dilemparkan ArgumentException oleh runtime bahasa umum atau pustaka kelas lain dan menunjukkan kesalahan pengembang. Jika Anda melempar ArgumentException dari kode, Anda harus memastikan bahwa properti pengecualian Message menyertakan pesan kesalahan yang bermakna yang menjelaskan argumen yang tidak valid dan rentang nilai yang diharapkan untuk argumen.
Kelas turunan ArgumentException utama adalah ArgumentNullException dan ArgumentOutOfRangeException. Kelas turunan ini harus digunakan alih-alih ArgumentException, kecuali dalam situasi di mana tidak ada kelas turunan yang dapat diterima. Misalnya, pengecualian harus dilemparkan oleh:
ArgumentNullException setiap kali
null
diteruskan ke metode yang tidak menerimanya sebagai argumen yang valid.ArgumentOutOfRangeException ketika nilai argumen berada di luar rentang nilai yang dapat diterima; misalnya, ketika nilai "46" diteruskan sebagai argumen bulan selama pembuatan DateTime.
Jika panggilan metode tidak memiliki argumen atau jika kegagalan tidak melibatkan argumen itu sendiri, maka InvalidOperationException harus digunakan.
ArgumentException menggunakan COR_E_ARGUMENT HRESULT, yang memiliki nilai 0x80070057.
Untuk daftar nilai properti awal untuk instans ArgumentException, lihat ArgumentException konstruktor.
Di F#, Anda dapat menggunakan fungsi invalidArg untuk menghasilkan dan menaikkan ArgumentException.
Konstruktor
ArgumentException() |
Menginisialisasi instans baru kelas ArgumentException. |
ArgumentException(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Menginisialisasi instans ArgumentException baru kelas dengan data berseri. |
ArgumentException(String) |
Menginisialisasi instans ArgumentException baru kelas dengan pesan kesalahan tertentu. |
ArgumentException(String, Exception) |
Menginisialisasi instans ArgumentException baru kelas dengan pesan kesalahan tertentu dan referensi ke pengecualian dalam yang merupakan penyebab pengecualian ini. |
ArgumentException(String, String) |
Menginisialisasi instans ArgumentException baru kelas dengan pesan kesalahan tertentu dan nama parameter yang menyebabkan pengecualian ini. |
ArgumentException(String, String, Exception) |
Menginisialisasi instans ArgumentException baru kelas dengan pesan kesalahan tertentu, nama parameter, dan referensi ke pengecualian dalam yang merupakan penyebab pengecualian ini. |
Properti
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 kesalahan dan nama parameter, atau hanya pesan kesalahan jika tidak ada nama parameter yang ditetapkan. |
ParamName |
Mendapatkan nama parameter yang menyebabkan pengecualian ini. |
Source |
Get dan set 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
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetBaseException() |
Ketika ditimpa di kelas turunan Exception , mengembalikan 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.
SerializationInfo Mengatur objek dengan nama parameter dan informasi pengecualian tambahan. |
GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Saat ditimpa di kelas turunan SerializationInfo , mengatur dengan informasi tentang pengecualian. (Diperoleh dari Exception) |
GetType() |
Mendapatkan jenis runtime dari instans saat ini. (Diperoleh dari Exception) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ThrowIfNullOrEmpty(String, String) |
Melempar pengecualian jika |
ThrowIfNullOrWhiteSpace(String, String) |
Melempar pengecualian jika |
ToString() |
Membuat dan mengembalikan representasi string dari pengecualian saat ini. (Diperoleh dari Exception) |
Acara
SerializeObjectState |
Kedaluwarsa.
Terjadi ketika pengecualian diserialisasikan untuk membuat objek status pengecualian yang berisi data berseri tentang pengecualian. (Diperoleh dari Exception) |