ステートメントがエラーを返すとき、Null 文字列 ("") または代替ステートメントの値を返します。
@IfError( statement1 ; statement2 )
statement1
式ステートメントです。このステートメントは最初に実行されます。
statement2
オプション。式ステートメントです。最初のステートメントがエラーを返す場合、このステートメントが利用可能であれば実行されます。
statementReturn
エラーの値を取得するには、2 番目のステートメントで $Error を使用します。
このコマンドは、次の一連のコマンドと交換しなければなりません。
result := statement1;
@If(@IsError(result);statement2;result)
この関数はエラーメッセージを傍受してそれを所定の値に置き換えるため、エラーが発生すると、エラーの原因がわからなくなる可能性があります。デバッグの際には、必要に応じてエラー処理を一時的に解除してください。こうすると、エラーメッセージのテキストを確認 (例 4 に示すようなテキストを表示) できます。
FIELD Phone :=
@IfError(
@DbLookup(""; "Snapper" : "names.nsf"; "People";
@Right(Name; " ") + " , " + @Left(Name; " "); "OfficePhoneNumber");
"Not available")
次のエージェントは、@IfError の代わりに @If を使用して同じ処理を実行します。
result := @DbLookup("";"Snapper":"names.nsf";"People";
@Right(Name;" ") + " , " + @Left(Name; " "); "OfficePhoneNumber");
FIELD Phone := @If(@IsError(result);"Not available";result)
@If(product="Enter product name here";0;@IfError(@DbLookup("" : "" ; "product/server" : "filename¥¥productdatabase.nsf" ; "Goods" ; product ; 2); "Unable to retrieve requested price. Aborting lookup"))
@Command([EditGoToField]);"Body");
@Command([EditSelectAll]);
@IfError(@Command([TextSetFontFace];fonts);@Prompt([Ok];"Error encountered";"You must select a font first"))
@IfError(@DbLookup("":"NoCache"; ""; "ById"; ID; 2);
@Text($Error))
LotusScript® 言語の On Error ステートメント