アサーション (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

参照

その他の技術情報

F# 言語リファレンス