ArgumentException クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メソッドに渡された引数のいずれかが無効な場合にスローされる例外。
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
- 継承
- 継承
- 派生
- 属性
- 実装
例
次の例では、 をスローしてキャッチする方法を ArgumentException示します。 ArgumentException.GetType() を使用します。Name プロパティは例外オブジェクトの名前を表示し、 プロパティをMessage使用して例外メッセージのテキストを表示します。
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
注釈
ArgumentException は、メソッドが呼び出され、渡された引数の少なくとも 1 つが、呼び出されたメソッドのパラメーター指定を満たしていない場合にスローされます。 プロパティは ParamName 、無効な引数を識別します。
最も一般的に、 ArgumentException は共通言語ランタイムまたは別のクラス ライブラリによってスローされ、開発者エラーを示します。 コードから を ArgumentException スローする場合は、例外の Message プロパティに、無効な引数と引数の予期される値の範囲を説明する意味のあるエラー メッセージが含まれていることを確認する必要があります。
の主な派生クラスArgumentExceptionは と ArgumentOutOfRangeExceptionですArgumentNullException。 これらの派生クラスは、 の代わりに ArgumentException使用する必要があります。ただし、どちらの派生クラスも許容できない場合を除きます。 たとえば、例外は次の方法でスローする必要があります。
ArgumentNullException を有効な引数として受け入れないメソッドに渡す場合は常
null
に。ArgumentOutOfRangeException 引数の値が許容範囲外の場合。たとえば、 の作成時に値 "46" が month 引数として渡された場合などです DateTime。
メソッド呼び出しに引数がない場合、またはエラーに引数自体が含まれていない場合は、 を InvalidOperationException 使用する必要があります。
ArgumentException では、値が0x80070057された HRESULT COR_E_ARGUMENTを使用します。
インスタンスの初期プロパティ値の一覧についてはArgumentExceptionを参照してください、ArgumentExceptionコンス トラクター。
F# では、 invalidArg 関数を使用して ArgumentException を生成および発生させることができます。
コンストラクター
ArgumentException() |
ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException(SerializationInfo, StreamingContext) |
古い.
シリアル化したデータを使用して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException(String) |
指定したエラー メッセージを使用して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException(String, Exception) |
指定したエラー メッセージおよびこの例外の原因となった内部例外への参照を使用して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException(String, String) |
エラー メッセージ、およびこの例外の原因であるパラメーターの名前を指定して、ArgumentException クラスの新しいインスタンスを初期化します。 |
ArgumentException(String, String, Exception) |
エラー メッセージ、パラメーター名、およびこの例外の原因である内部例外への参照を指定して、ArgumentException クラスの新しいインスタンスを初期化します。 |
プロパティ
Data |
例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。 (継承元 Exception) |
HelpLink |
この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 (継承元 Exception) |
HResult |
特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。 (継承元 Exception) |
InnerException |
現在の例外の原因となる Exception インスタンスを取得します。 (継承元 Exception) |
Message |
エラー メッセージとパラメーター名を取得します。パラメーター名が設定されていない場合は、エラー メッセージだけを取得します。 |
ParamName |
この例外の原因である引数の名前を取得します。 |
Source |
エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。 (継承元 Exception) |
StackTrace |
呼び出し履歴で直前のフレームの文字列形式を取得します。 (継承元 Exception) |
TargetSite |
現在の例外がスローされたメソッドを取得します。 (継承元 Exception) |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetBaseException() |
派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の根本原因である Exception を返します。 (継承元 Exception) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
古い.
パラメーター名と追加の例外情報を使用して SerializationInfo オブジェクトを設定します。 |
GetObjectData(SerializationInfo, StreamingContext) |
古い.
派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。 (継承元 Exception) |
GetType() |
現在のインスタンスのランタイム型を取得します。 (継承元 Exception) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ThrowIfNullOrEmpty(String, String) |
が または空の場合 |
ThrowIfNullOrWhiteSpace(String, String) |
が |
ToString() |
現在の例外の文字列形式を作成して返します。 (継承元 Exception) |
イベント
SerializeObjectState |
古い.
例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。 (継承元 Exception) |
適用対象
こちらもご覧ください
.NET