ランタイムエラー

ランタイムエラーは式の実行時に発生します。このエラーは次のように分類できます。

  • 予期せぬエラー -- 開発時のエラーであり、ユーザーには表示すべきではありません。例えば、@関数のパラメータを付け忘れると、実行時に「@関数の引数が足りません」というメッセージが表示されます。式を評価して、予期せぬエラーはすべて訂正してください。
  • 報告されないエラー -- エラーとしては報告されませんが、正しくない結果になることがあります。例えば、@Prompt で数値を表示しようとすると、@Prompt は機能しますが、空白が表示されます。このエラーも、ユーザーには表示すべきではありません。式を評価して、結果がすべて予測どおりになるようにしてください。
  • 予想されるエラー -- 実行時にユーザーが原因となって発生するエラーです。例えば、データベース名の入力を求めたときに、ユーザーが存在しないデータベース名を入力したときのエラーです。このようなエラーは防止できませんが、事前に予想して式で評価し、適切な処置を講じることはできます。

次の @関数は、ランタイムエラーの処理に役に立ちます。

  • @IsError(value) は、フィールド、一時変数、式にエラーがあると True (1) を返します。
  • @Error は、エラーを生成します。
  • @Failure(message) は、入力確認式で使用されるメッセージを表示します。
  • @Success は常に値 1 を返します。
  • @Return(value) は、式の実行を停止し、値を返します。

Notes はフィールドの有効性を検証し、これに失敗すると、検査対象のフィールドにエラーを生成します。例えば、フィールドを数値として指定したのに、ユーザーが数値以外の値を入力すると、そのフィールドの値はエラーになります。フィールドの値を @Error に設定することにより、そのフィールドにエラーを生成できます。

また、ユーザーが文書を保存するときにも、フィールドのエラーが報告されます。例えば、数値フィールドに数値でない値が入っている場合、ユーザーが文書を保存しようとすると、IBM Domino は「文字を数値に変換することはできません」というメッセージを生成します。

メッセージを変更するか、エラー発生時に別のアクションを実行するには、フィールド確認式で @IsError を使用してフィールドにエラーがあるかテストします。@Failure を使用すると独自のメッセージを生成できますが、この関数はフィールド確認式でしか使用できません。

フィールドに独自のエラー条件を組み込むには、エラー条件が検出されたら @Error を返すようにします。

フィールド式以外、例えばエージェント、ボタン、ホットスポットなどでも、フィールドの内容を調べて、エラー条件に対してただちに対応できます。例えば、ボタンを使用してフィールドを調べて、ユーザが文書を保存しようとする前に、フィールドの値を変更したり、エラーを報告できます。なお、エラーチェックでは、ユーザーがフィールドに値を入力するとすぐに、IBM Notes の内部的なエラー検査が実行されてエラーが生成されるのに対し、@Error を使用した変換式では、文書の保存時までエラーは生成されません。