System.Assert
Delphi
procedure Assert(Condition: Boolean; [ Message: String ]); overload;
procedure Assert(Condition: Boolean; [ Message: String ]); overload;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure | public | System.pas | System | System |
説明
論理式が真であるかどうかをテストします。
Delphi のコードでは,Assert プロシージャは,真であると仮定されている条件が決して違反されていないことをテストするデバッグツールとして使用します。Assert は予期しない条件を感知し,予期しない条件下で実行を継続するのではなくプログラムを停止する機会を提供します。
Assert は,論理式およびオプションのメッセージ文字列をパラメータにとります。論理テストが失敗した場合,Assert は EAssertionFailed 例外を生成します。メッセージ文字列が Assert に渡された場合,その文字列を持つ例外オブジェクトが作成されます。それ以外の場合は,失敗したことを示すデフォルト文字列で作成されます。メッセージは,完全なパス,ファイル名および Assert が失敗した行番号とともに表示されます。
SysUtils ユニットは,実行時エラーを例外に変換します。SysUtils がアプリケーションで使用されていない場合は,EAssertionFailed 例外ではなく実行時エラー 227 が生成されます。この実行時エラーはプログラムを停止します。
通常,Assert が出荷版の製品で使用されることはないので,以下のようなコンパイラ指令が Assert コードの生成を無効にするために提供されます。
$ASSERTIONS ON/OFF(長い形式)
$C +/-(短い形式)
これらはグローバルスイッチであり,ファイル内の位置に関係なくこれらを含んでいるソースファイル全体で効力を持ちます。ソースファイルより小さい単位で Assert を有効または無効にすることはできません。Assert はデフォルトでオンです。