从页面调用小程序方法时遇到问题

发布于 2024-07-18 17:03:59 字数 518 浏览 2 评论 0原文

我知道这不是最佳的,但我必须使用它,一个调用小程序的页面。

我的问题是,当我这样做时,我收到一条相当神秘的错误消息:

“未捕获的异常:调用 NPObject 上的方法时出错!

[插件异常:java.lang.reflect.InitationTargetException]。 “

有人能解码这个吗? 即使有多种可能性也比我想出的垃圾更好。 对小程序的基本调用来自 JavaScript 调用:

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

如您所见,passData 方法是我尝试使用的公开方法。 小程序本身在页面上运行良好,只是当我尝试调用它时,它除了抛出该错误之外不执行任何操作。

如果我询问处理该小程序的人员(这不是我的部分),他们是否可以添加建设性错误抛出,或者我什至还没有连接到该小程序?

I know it's not optimal, but I have to work with it, a page making calls to the applet.

My problem is, when I do so, I recieve a rather cryptic error message:

"uncaught exception: Error calling method on NPObject!

[plugin exception: java.lang.reflect.InvocationTargetException]."

Can anyone decode this? Even multiple possibilities would be better than the junk I came up with. The basic call to the applet is from a javascript call:

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

As you can see, the passData method is the exposed method I am trying to use. The applet itself works fine on the page, it's just when I try to call this, it doesn't do anything except throw that error.

If I ask the person working on the applet (it's not my portion) is it possible for them to add constructive error throwing or am I not even at the point of connecting to the applet yet?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

请恋爱 2024-07-25 17:03:59

InitationTargetException 指示小程序中的底层方法引发了异常。 Javascript到Java的“边界”使用了反射,因此Java代码抛出的异常是这样包装的。 (这使得可以将它们与进入 Java 代码之前引发的异常区分开来。例如,如果您尝试调用不存在的方法。)

您可以通过捕获 InitationTargetException 然后调用其 getTargetException()getCause() 方法(它们都执行完全相同的操作)。

InvocationTargetException indicates that the underlying method in your applet threw an exception. The Javascript to Java "boundary" uses reflection, so exceptions thrown by the Java code are wrapped like this. (This makes it possible to distinguish them from exceptions thrown before you got into your Java code. For example, if you tried to call a non-existant method.)

You can get the original exception by catching the InvocationTargetException and then calling its getTargetException() or getCause() method (they both do exactly the same thing).

抱猫软卧 2024-07-25 17:03:59

我建议您了解一下 someOtherData 是什么。 如果 someOtherData 不是正确的类型,则可能会导致此类异常。 听起来您正在尝试传递 DOM 对象?

查看 O'Reilly 的 JavaScript 指南 中的此页面即可了解可用类型。

I'd suggest you look into what someOtherData is. If someOtherData isn't a correct type it could cause such an exception. It sounds like you're trying to pass a DOM object?

Take a look at this page in O'Reilly's JavaScript Guide to see available types.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文