5

Java の ScriptEngine を使用して JavaScript コードを実行します。Invocable Interface を使用して、スクリプト コードを Java インターフェイスを実装する通常の Java オブジェクトとして使用できるようにします。

JavaScript コードの場合

  • 無効です
  • インターフェイスに従っていません (メソッドの欠落、戻り値の型の誤り、例外のスローなど)。

コードの実行中に、Rhino から内部例外または UndeclaredThrowableException が発生しました。どちらも、キャッチすることが「許可されていない」RuntimeExceptions です。

実行前にコードを検証する方法はありますか? それとも、ここでルールを破って RuntimeExceptions をキャッチする必要がありますか? それは私にとってはうまくいくでしょうが、最もエレガントな方法は何ですか?

4

3 に答える 3

2

実行する前にコードを検証する方法はありますか?

いいえ。JavaScriptは大まかに型付けされており、インターフェースの概念がなく、その場で解釈されます。

独自の検証フレームワークを設計せずにできる最善の方法は、JSLintで構文エラーがないかどうかを確認することです。

于 2010-01-14T15:33:55.143 に答える
1

数年後...これに遭遇した他の人のために:を使用してより多くのランタイムチェックを追加する厳密モードを使用できます"use strict";

http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

一部のコードエディタは、リアルタイムの検証を提供します(構文...)

于 2013-01-14T11:14:43.850 に答える