Question

Je sais que ce n'est pas optimal, mais je dois travailler avec cela, une page faisant des appels à l'applet.

Mon problème est que, quand je le fais, je reçois un message d'erreur plutôt cryptique:

Exception non capturée: erreur lors de l'appel de la méthode sur NPObject!

[exception de plug-in: java.lang.reflect.InvocationTargetException]. "

Quelqu'un peut-il décoder cela? Même de multiples possibilités seraient meilleures que la malbouffe que j'ai imaginée. L'appel de base à l'applet provient d'un appel javascript:

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

Comme vous pouvez le constater, la méthode passData est la méthode exposée que j'essaie d'utiliser. L’applet elle-même fonctionne bien sur la page, c’est juste quand j’essaie d’appeler cela qu’elle appelle, elle ne fait rien sauf envoyer cette erreur.

Si je demande à la personne qui travaille sur l’applet (ce n’est pas ma part) est-il possible pour elle d’ajouter une erreur constructive en jettant ou est-ce que je ne suis même pas encore sur le point de me connecter à l’applet?

Était-ce utile?

La solution

InvocationTargetException indique que la méthode sous-jacente dans votre applet a généré une exception. Le code Javascript à Java "limite" utilise la réflexion, donc les exceptions lancées par le code Java sont encapsulées comme ceci. (Cela permet de les distinguer des exceptions émises avant que vous ne trouviez votre code Java. Par exemple, si vous avez essayé d'appeler une méthode non existante.)

Vous pouvez obtenir l'exception d'origine en interceptant InvocationTargetException, puis en appelant sa méthode getTargetException () ou getCause () (ils font tous les deux exactement la même chose). / p>

Autres conseils

Je vous suggérerais de regarder ce que someOtherData est. Si someOtherData n'est pas un type correct, une telle exception peut être provoquée. On dirait que vous essayez de passer un objet DOM?

Consultez cette page dans le Guide JavaScript de O'Reilly pour voir les types disponibles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top