ArgumentException クラスとは? わかりやすく解説

ArgumentException クラス

メソッド渡され引数いずれか無効な場合スローされる例外

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class ArgumentException
    Inherits SystemException
    Implements ISerializable
Dim instance As ArgumentException
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class ArgumentException : SystemException,
 ISerializable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class ArgumentException : public
 SystemException, ISerializable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class ArgumentException extends SystemException
 implements ISerializable
SerializableAttribute 
ComVisibleAttribute(true) 
public class ArgumentException extends
 SystemException implements ISerializable
解説解説

ArgumentException は、メソッド呼び出し時に渡され引数少なくとも 1 つが、呼び出されメソッドパラメータ仕様一致していないとスローさます。ArgumentExceptionすべてのインスタンスは、無効な引数と、その引数指定できる有効な値の範囲説明するわかりやすいエラーメッセージ保持する必要があります

ArgumentException主要な派生クラスは、ArgumentNullException と ArgumentOutOfRangeException です。これらの派生クラスは、両方とも使用できない場合以外は、ArgumentException代わりに使用されます。たとえば、次の場合は、それぞれの派生クラス例外スローます。

引数指定せずにメソッド呼び出され場合引数原因ではないエラー発生している場合は、InvalidOperationException を使用します

ArgumentException は、値 0x80070057 を保持する HRESULT COR_E_ARGUMENT を使用します

ArgumentExceptionインスタンス初期プロパティ値の一覧については、ArgumentException コンストラクタトピック参照してください

使用例使用例

ArgumentExceptionスローし、キャッチする方法次の例に示します

using System;

public sealed class App 
{
    static void Main() 
    {
        // ArgumentException is not thrown because 10 is an even number.
        Console.WriteLine("10 divided by 2 is {0}", DivideByTwo(10));
        try 
        {
             // ArgumentException is thrown because 7 is not an even
 number.
             Console.WriteLine("7 divided by 2 is {0}", DivideByTwo(7));
        }
        catch (ArgumentException)
        {
            // Show the user that 7 cannot be divided by 2.
            Console.WriteLine("7 is not divided by 2 integrally.");
        }
    }

    static int DivideByTwo(int
 num) 
    {
        // If num is an odd number, throw an ArgumentException.
        if ((num & 1) == 1)
            throw new ArgumentException("Number must be even",
 "num");

        // num is even, return half of its value.
        return num / 2;
    }
}


// This code produces the following output.
// 
// 10 divided by 2 is 5
// 7 is not divided by 2 integrally.
using namespace System;

int DivideByTwo(int num)
{
    // If num is an odd number, throw an ArgumentException.
    if ((num & 1) == 1)
    {
        throw gcnew ArgumentException("Number must be even", "num");
    }
    // num is even, return half of its value.
    return num / 2;
}

int main()
{
    // ArgumentException is not thrown because 10 is an even number.
    Console::WriteLine("10 divided by 2 is {0}", DivideByTwo(10));
    try
    {
        // ArgumentException is thrown because 7 is not an even number.
        Console::WriteLine("7 divided by 2 is {0}", DivideByTwo(7));
    }
    catch (ArgumentException^)
    {
        // Show the user that 7 cannot be divided by 2.
        Console::WriteLine("7 is not divided by 2 integrally.");
    }
}

// This code produces the following output.
//
// 10 divided by 2 is 5
// 7 is not divided by 2 integrally.
継承階層継承階層
System.Object
   System.Exception
     System.SystemException
      System.ArgumentException
         派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ArgumentException クラス」の関連用語

ArgumentException クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ArgumentException クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS