4D-jp 4D Japan Technical Support Team

ランタイムエラーを避けるためにパラメーター数をチェックする

2020-04-02

4Dは,コンパイルモードで発生するエラーをインタープリターモードで発見し,デバッグできるよう,できるだけ同じ条件でエラーが発生するように設計されていますが,いくつかのエラーは,歴史的な経緯により,インタープリターモードでは発生せず,ON ERR CALLでも抑止することができません。代表的な例は「範囲チェック」のランタイムエラーです。たとえば,パラメーターの$1が未定義の場合,インタープリターモードであれば,そのままメソッドに渡してもエラーになりません。コンパイルモードでは,「範囲チェック」のランタイムエラーとなります。ON ERR CALLでエラーダイアログを抑止することはできないため,Count parametersでパラメーター数をチェックすることが必要であり,インタープリターモードではランタイムエラーが発生しないため,気をつけてコーディングするしかありません。これは仕様です。


関連記事

リンク