0

ニュースグループの別の回答から次のコードを使用して、Java で文字列を評価しようとしています。

java.lang.Object をインポートします。

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

ScriptEngineManager m = new ScriptEngineManager();

ScriptEngine e = m.getEngineByName("js");

オブジェクト結果 = e.eval("13+23-3");

ただし、コンパイル時に「報告されていない例外 javax.script.ScriptException; キャッチまたはスローされるように宣言する必要があります」というエラーが発生します。私はまだ学習中であり、例外処理にかなり慣れていないので、誰かが私を助けてくれませんか?

ありがとう。

4

1 に答える 1

4

メソッドがチェックされた例外 (ScriptException など) を宣言する場合、それをキャッチして処理するか、メソッドがそれをスローすることを宣言する必要があります。後者の場合、メソッドを呼び出すすべてのメソッドは、メソッドをキャッチまたは宣言する必要があり、チェーンが続きます。

try/catch ブロックで例外をキャッチできます。

try {
    Object result = e.eval("13+23-3");
    System.out.println("It worked!:" + result.toString());
}
catch (ScriptException se) {
    System.out.println("Problem in eval:", se.getmessage());
}
于 2013-12-11T19:05:39.380 に答える