XML 파일을 포함하는 직렬화를 시도하고 있습니다.NoSuchMethodException을 잡는 방법
XMLDecoder decoder = new XMLDecoder(os);
deSerializedObject = decoder.readObject();
decoder.close();
return deSerializedObject;
이 XML 파일은 모든 object.It위한 방법을 포함하지 않는 경우는, NoSuchMethodException @ readObject를 던졌습니다 : 같은 코드 조각이 보인다.
java.lang.NoSuchMethodException : 이름 추가 아니오 방법은 java.beans.Statement.invokeMethodImpl (Statement.java:247에서 java.beans.Statement.findMethod (Statement.java:454) 에서 을 발견) at java.beans.Statement.access $ 000 (Statement.java:46) at java.beans.Statement $ 1.run (Statement.java:130) at java.security.AccessController.doPrivileged (AccessController.java:284) at java.beans.invokeMethod (Statement.java:127) at java.beans.Expression.getValue (Expression.java:67) at java.beans.XMLDecoder $ SAXHandler.executeCommon (XMLDecoder.java:392) java.beans.XMLDecoder $ SAXHandler.execute (XMLD $ SAXHandler.endElement (XMLDecoder.java:286) at org.apache.xerces.parsers.AbstractSAXParser.endElement (알 수없는 소스) at org.apache.xerces.impl .XMLDocumentFragmentScannerImpl.scanEndElement org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument (알 소스) 에서 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl $ FragmentContentDispatcher.dispatch (알 소스) 에서 (알 소스) 에서 조직 .apache.xerces.parsers.XML11Configuration.parse (알 수없는 소스) 에서 org.apache.xerces.parsers.XML11Configuration.parse (알 수없는 소스) 에서 org.apache.xerces.parsers.XMLParser.parse (알 수없는 소스) a org.apache.xerces.jaxp.SAXParserImpl.parse에서 org.apache.xerces.jaxp.SAXParserImpl $ JAXPSAXParser.parse (알 소스)에서 t org.apache.xerces.parsers.AbstractSAXParser.parse (알 수없는 소스)
(알 수없는 소스) java.beans.XMLDecoder.readObject (XMLDecoder.java:662)에서 javax.xml.parsers.SAXParser.parse (알 수없는 소스)에서
문제는이 예외를 잡을 수 없다. 그것을 처리하는 적절한 방법은 무엇입니까?
try{
deSerializedObject = decoder.readObject();
System.out.println("We are after read object");
}
catch (NoSuchMethodException e)
{
System.out.println("We are in catch block !!");
e.printStackTrace();
}
decoder.close();
return deSerializedObject;
여기에 오류가
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0" class="java.beans.XMLDecoder">
<object class="java.util.ArrayList">
<void method="add">
<object class="InfoParameters">
<void property="Name">
<string>Jay</string>
</void>
<void property="Level">
<string>10</string>
</void>
</object>
<object class="InfoParameters">
<void property="Name">
<string>Hir</string>
</void>
<void property="Level">
<string>10</string>
</void>
</object>
</void>
</object>
</java>
아,'readObject()'가'NoSuchMethodException'을 던지도록 선언되지 않았기 때문에 자바가 발생하지 않을 것이라고 생각하지 않으므로'NoSuchMethodException' 이후에 기본 예외 블록을 추가해보십시오. 나는 그것을 아래 나의 포스트에 추가 할 것이다. –
게시하지 않은 다른 코드가있을 수 있습니다. 오류 메시지에 따르면'readObject()'는 예외의 근본 원인이 아니므로 다른 명령문에서 가져와야합니다. –
XML 버전의 serialize 된 객체를 게시 할 수 있습니까? 거기에 뭔가가 일어나야 만합니다. –