페이지에서 애플릿 방법을 호출하는 데 문제가 있습니다
-
05-07-2019 - |
문제
나는 그것이 최적이 아니라는 것을 알고 있지만, 애플릿을 호출하는 페이지 인 페이지를 사용해야합니다.
내 문제는 그렇게하면 다소 비밀 오류 메시지를받습니다.
"Uncaught Exception : npobject에서 오류 호출 방법!
플러그인 예외 : java.lang.reflect.invocationTargeteXception]. "
누구든지 이것을 해독 할 수 있습니까? 여러 가능성조차도 내가 생각해 낸 쓰레기보다 낫습니다. 애플릿에 대한 기본 호출은 JavaScript 호출입니다.
document.getElementById('my_applet').passData("pass some data", someOtherData);
보시다시피, PassData 메소드는 내가 사용하려는 노출 된 방법입니다. 애플릿 자체는 페이지에서 잘 작동합니다. 제가 이것을 호출하려고 할 때만 해당 오류를 던지는 것 외에는 아무것도하지 않습니다.
애플릿에서 작업하는 사람에게 물어 보면 (내 부분이 아님) 건설적인 오류 던지기를 추가 할 수 있습니까? 아니면 아직 애플릿에 연결하는 시점에도 없습니까?
해결책
invocationTargetexception 애플릿의 기본 방법이 예외를 던 졌음을 나타냅니다. JavaScript to Java "Boundary"는 반사를 사용하므로 Java 코드에 의해 던져진 예외는 다음과 같이 랩됩니다. (이것은 Java 코드에 들어가기 전에 던져진 예외와 구별 할 수 있습니다. 예를 들어, 존재하지 않는 방법을 호출하려고 시도한 경우).)
invocationTargetexception을 잡은 다음 호출하여 원래 예외를 얻을 수 있습니다. getTargetException()
또는 getCause()
방법 (둘 다 똑같은 일을합니다).
다른 팁
나는 당신이 무엇을 조사 할 것을 제안합니다 일부 therdata 이다. 만약에 일부 therdata 그러한 예외를 일으킬 수있는 올바른 유형이 아닙니다. DOM 객체를 통과하려는 것 같습니까?
이 페이지를 살펴보십시오 오라일리의 자바 스크립트 가이드 사용 가능한 유형을 보려면.