Aracılığıyla paylaş


ArgumentException Sınıf

Tanım

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
ArgumentException
Devralma
ArgumentException
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 argumentnull bir özel durum oluşturur.

ThrowIfNullOrWhiteSpace(String, String)

ise, boşsa veya yalnızca boşluk karakterlerinden oluşuyorsa argumentnullbir özel durum oluşturur.

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)

Şunlara uygulanır

Ayrıca bkz.