アサーション (F#)
assert 式は、式のテストに使用できるデバッグ機能です。デバッグ モードでエラーが発生すると、アサーションによってシステム エラーのダイアログ ボックスが生成されます。
assert condition
解説
assert 式には、bool -> unit 型が指定されています。
前の構文で、condition はテストされるブール式を表します。式が true と評価された場合は、実行がそのまま継続されます。式が false と評価された場合は、システム エラーのダイアログ ボックスが生成されます。このエラー ダイアログ ボックスには、[アサートに失敗しました] という文字列を含むキャプションがあります。このダイアログ ボックスには、アサーション エラーが発生した場所を示すスタック トレースが含まれます。
アサーション チェックは、デバッグ モードでコンパイルした場合、つまり、定数 DEBUG が定義されている場合にのみ有効になります。プロジェクト システムでは、既定で、定数 DEBUG がデバッグ構成で定義されますが、リリース構成では定義されません。
アサーション失敗エラーは、F# の例外処理を使用してキャッチすることはできません。
[!メモ]
assert 関数は、System.Diagnostics.Debug.Assert に解決されます。詳細については、「Assert」を参照してください。
次のコード例は、assert 式の使い方を示します。
let subtractUnsigned (x : uint32) (y : uint32) =
assert (x > y)
let z = x - y
z
// This code does not generate an assertion failure.
let result1 = subtractUnsigned 2u 1u
// This code generates an assertion failure.
let result2 = subtractUnsigned 1u 2u