ArgumentException Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir yönteme sağlanan bağımsız değişkenlerden biri geçerli olmadığında oluşan özel durum.
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
- Devralma
- Devralma
- Türetilmiş
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte, oluşturma ve yakalama işlemleri gösterilmektedir ArgumentException. ArgumentException.GetType() kullanır. Özel durum nesnesinin adını görüntülemek için name özelliği ve ayrıca özel durum iletisinin metnini görüntülemek için özelliğini kullanırMessage.
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
Açıklamalar
ArgumentException bir yöntem çağrıldığında oluşturulur ve geçirilen bağımsız değişkenlerden en az biri çağrılan yöntemin parametre belirtimini karşılamaz. ParamName özelliği geçersiz bağımsız değişkeni tanımlar.
En yaygın olarak, ortak dil çalışma zamanı veya başka bir sınıf kitaplığı tarafından oluşturulur ArgumentException ve geliştirici hatasını gösterir. Kodunuzdan bir ArgumentException oluşturursanız, özel durumun Message özelliğinin geçersiz bağımsız değişkeni ve bağımsız değişken için beklenen değer aralığını açıklayan anlamlı bir hata iletisi içerdiğinden emin olmalısınız.
Birincil türetilmiş sınıfları ArgumentException ve ArgumentOutOfRangeException'dırArgumentNullException. Türetilmiş sınıfların hiçbirinin ArgumentExceptionkabul edilebilir olmadığı durumlar dışında, bu türetilmiş sınıflar yerine kullanılmalıdır. Örneğin, özel durumlar şu şekilde oluşturulmalıdır:
ArgumentNullException geçerli bir bağımsız değişken olarak kabul etmeyen bir yönteme her
null
geçirildiğinde.ArgumentOutOfRangeException bağımsız değişkenin değeri kabul edilebilir değerler aralığının dışında olduğunda; örneğin, "46" değeri bir DateTimeoluşturulması sırasında ay bağımsız değişkeni olarak geçirildiğinde.
Yöntem çağrısında herhangi bir bağımsız değişken yoksa veya hata bağımsız değişkenlerin kendisini içermiyorsa kullanılmalıdır InvalidOperationException .
ArgumentException değeri 0x80070057 olan HRESULT COR_E_ARGUMENT kullanır.
örneğinin ilk özellik değerlerinin ArgumentExceptionlistesi için oluşturuculara ArgumentException bakın.
F# dilinde invalidArg işlevini kullanarak argumentException oluşturabilir ve oluşturabilirsiniz.
Oluşturucular
ArgumentException() |
ArgumentException sınıfının yeni bir örneğini başlatır. |
ArgumentException(SerializationInfo, StreamingContext) |
Geçersiz.
ArgumentException sınıfının yeni bir örneğini serileştirilmiş verilerle başlatır. |
ArgumentException(String) |
Belirtilen hata iletisiyle sınıfının yeni bir örneğini ArgumentException başlatır. |
ArgumentException(String, Exception) |
Belirtilen bir hata iletisi ve bu özel durumun nedeni olan iç özel duruma başvuru ile sınıfının yeni bir örneğini ArgumentException başlatır. |
ArgumentException(String, String) |
Belirtilen hata iletisi ve bu özel duruma neden olan parametrenin adı ile sınıfının yeni bir örneğini ArgumentException başlatır. |
ArgumentException(String, String, Exception) |
Sınıfın ArgumentException yeni bir örneğini belirtilen bir hata iletisi, parametre adı ve bu özel durumun nedeni olan iç özel duruma başvuru ile başlatır. |
Özellikler
Data |
Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan bir anahtar/değer çifti koleksiyonu alır. (Devralındığı yer: Exception) |
HelpLink |
Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar. (Devralındığı yer: Exception) |
HResult |
Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT değerini alır veya ayarlar. (Devralındığı yer: Exception) |
InnerException |
Geçerli özel duruma Exception neden olan örneği alır. (Devralındığı yer: Exception) |
Message |
Hata iletisini ve parametre adını veya yalnızca parametre adı ayarlı değilse hata iletisini alır. |
ParamName |
Bu özel duruma neden olan parametrenin adını alır. |
Source |
Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar. (Devralındığı yer: Exception) |
StackTrace |
Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır. (Devralındığı yer: Exception) |
TargetSite |
Geçerli özel durumu oluşturan yöntemini alır. (Devralındığı yer: Exception) |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetBaseException() |
Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan değerini döndürür Exception . (Devralındığı yer: Exception) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Geçersiz.
SerializationInfo Nesneyi parametre adı ve ek özel durum bilgileriyle ayarlar. |
GetObjectData(SerializationInfo, StreamingContext) |
Geçersiz.
Türetilmiş bir sınıfta geçersiz kılındığında, özel durum hakkındaki bilgilerle öğesini ayarlar SerializationInfo . (Devralındığı yer: Exception) |
GetType() |
Geçerli örneğin çalışma zamanı türünü alır. (Devralındığı yer: Exception) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ThrowIfNullOrEmpty(String, String) |
Veya boşsa |
ThrowIfNullOrWhiteSpace(String, String) |
ise, boşsa veya yalnızca boşluk karakterlerinden oluşuyorsa |
ToString() |
Geçerli özel durumun dize gösterimini oluşturur ve döndürür. (Devralındığı yer: Exception) |
Ekinlikler
SerializeObjectState |
Geçersiz.
Bir özel durum, özel durum hakkında serileştirilmiş veriler içeren bir özel durum nesnesi oluşturmak üzere seri hale getirildiğinde gerçekleşir. (Devralındığı yer: Exception) |