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 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 olmanız gerekir.

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şturulurken ay bağımsız değişkeni olarak geçirildiğinde.

Yöntem çağrısının bağımsız değişkeni 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.

ArgumentExceptionörneğinin ilk özellik değerlerinin listesi için bkz. ArgumentException oluşturucuları.

F# dilinde invalidArg işlevini kullanarak ArgumentException oluşturabilir ve oluşturabilirsiniz.

Oluşturucular

Name Description
ArgumentException()

ArgumentException sınıfının yeni bir örneğini başlatır.

ArgumentException(SerializationInfo, StreamingContext)
Geçersiz.

Serileştirilmiş verilerle sınıfının yeni bir örneğini ArgumentException başlatır.

ArgumentException(String, Exception)

Sınıfın ArgumentException yeni bir örneğini belirtilen bir hata iletisiyle ve bu özel durumun nedeni olan iç özel duruma başvuruyla 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.

ArgumentException(String, String)

Sınıfın ArgumentException yeni bir örneğini belirtilen bir hata iletisiyle ve bu özel duruma neden olan parametrenin adıyla başlatır.

ArgumentException(String)

Belirtilen bir hata iletisiyle sınıfının yeni bir örneğini ArgumentException başlatır.

Özellikler

Name Description
Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu 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

Exception Geçerli özel duruma neden olan örneği alır.

(Devralındığı yer: Exception)
Message

Hata iletisini ve parametre adını veya yalnızca parametre adı ayarlanmadıysa 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

Name Description
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 Nesnesini parametre adı ve ek özel durum bilgileriyle ayarlar.

GetType()

Geçerli örneğin çalışma zamanı türünü alır.

(Devralındığı yer: Exception)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ThrowIfNullOrEmpty(String, String)

Ise 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

Name Description
SerializeObjectState
Geçersiz.

Özel durum hakkında serileştirilmiş veriler içeren bir özel durum durumu nesnesi oluşturmak için bir özel durum seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır

Ayrıca bkz.