4D v16.3

ASSERT

ホーム

 
4D v16.3
ASSERT

ASSERT 


 

ASSERT ( boolExpression {; messageText} ) 
引数   説明
boolExpression  ブール in ブール式
messageText  テキスト in エラーメッセージテキスト

説明   

ASSERT コマンドはboolExpression 引数に渡されたアサーションを評価し、Falseを返す場合にはコードの実行を中止するとともにエラーメッセージを出します。このコマンドはインタープリタモードでもコンパイル済みモードでも動作します。

boolExpression 引数がTrueの場合は、何も怒りません。Falseになった場合には、このコマンドはエラー-10518をトリガーし、デフォルトでアサーションのテキストとその後に"アサーション違反:"というメッセージを表示します。このエラーはON ERR CALLコマンドで実装されたメソッドを使う事により割り込み可能で、それにより、例えばログファイルに情報を記録するなどすることができます。

任意の引数messageText を使用する事で、アサーションのテキストの代わりにカスタムのエラーメッセージを表示する事ができます。

アサーションはコードに挿入された指示命令で、コード実行中の例外を検知するために使用します。ある時点において式の検証をしたときにTrueであれば正常であり、そうでなければ例外が発生したことになります。アサーションはなにより、発生するはずのないケースを検知するために使用します。主にプログラミングバグを検知するために使用します。SET ASSERT ENABLED コマンドを使用して、(例えばバージョンにより)アプリケーションのすべてのアサーションを全体として有効にしたり無効にしたりできます。

プログラミングにおけるアサーションについての詳細は、Wikipediaの関連情報をご覧ください: http://ja.wikipedia.org/wiki/表明

レコードに対する処理を実行する前に、開発者はレコードが正しく読み/書きモードでロードされたかを確認する必要があります:

 READ WRITE([Table 1])
 LOAD RECORD([Table 1])
 ASSERT(Not(Locked([Table 1])))
  // レコードがロックされていると -10518 エラーが生成される

アサーションはプロジェクトメソッドに渡された引数をテストして、異常な値を検知するために使用できます。以下の例題では、カスタム警告メッセージが表示されます。

  // $1に渡された名前に基づき、クライアントの番号を返す
 C_TEXT($1// クライアントの名前
 ASSERT($1#"";"クライアント名が空です")
  // このケースでは空の名前は異常な値です
  // アサーションがfalseの場合、以下がエラーダイアログに表示されます:
  //"アサーション違反: クライアント名が空です"



参照 

Asserted
Get assert enabled
SET ASSERT ENABLED

 
プロパティ 

プロダクト: 4D
テーマ: 割込
番号: 1129

Errorシステム変数が更新されることがあります。This command can be run in preemptive processes

 
履歴 

初出: 4D v12

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)