2009-05-05 13 views
1

私はそれが最適ではないことを知っていますが、私はそれを使ってアプレットを呼び出すページを作成する必要があります。ページからアプレットメソッドを呼び出す際に問題が発生する

「キャッチされない例外:エラーNPObject上のメソッドを呼び出す

[プラグイン例外:私はそうするとき

私の問題は、ですが、私はむしろ不可解なエラーメッセージを受け取る!java.langのを。 reflect.InvocationTargetException]を返します。

誰でもこれを解読できますか?私が思いついた迷惑よりも、複数の可能性でも良いでしょう。アプレットへの基本的な呼び出しはjavascriptの呼び出しからである:あなたが見ることができるように

document.getElementById('my_applet').passData("pass some data", someOtherData); 

、passData方法は、私が使用しようとしています公開されたメソッドです。アプレットそのものはページ上でうまく動作しますが、これを呼び出そうとすると、エラーをスローする以外は何もしません。

アプレットに作業している人に尋ねると(それは私の部分ではありません)、建設的なエラースローを追加することは可能でしょうか、まだアプレットに接続する時点ではないのですか?

答えて

4

InvocationTargetExceptionは、アプレットの基になるメソッドが例外をスローしたことを示します。 JavascriptからJavaへの「境界」はリフレクションを使用するため、Javaコードによってスローされる例外はこのようにラップされます。これにより、Javaコードに入る前にスローされた例外と区別することができます(例えば、存在しないメソッドを呼び出そうとした場合など)。

InvocationTargetExceptionをキャッチし、 getTargetException()またはgetCause()メソッドを呼び出します(両方とも全く同じことを行います)。

+0

ありがとう、間違いなく助けに行くのです。私はヒットを得るために質問を開いたままにしておきますが、誰かがそれ以上の洞察を持っている場合は明日の朝にチェックします。 – Organiccat

0

someOtherDataです。 someOtherDataが正しいタイプでない場合、そのような例外が発生する可能性があります。あなたはDOMオブジェクトを渡そうとしているようですね?

O'Reilly's JavaScript Guideでこのページをご覧ください。

+0

私が渡していた文字列が、公開されたJavaアプレットメソッドによって正しく受信されていませんでした。 – Organiccat

+0

詳しいことはありますか? – Pool

関連する問題