올바르게 설명 할 수 있기를 바랍니다. Javolution 라이브러리를 사용하여 XML 구성 파일을 읽고 쓰는 중입니다. XMLStreamReader/Writer를 사용하고 있습니다. 독서 중 태그를 읽고 LinkedHashMap에 속성을 저장하려고합니다. 그러나 예외가 발생했습니다. 즉, throw 될 때와 현재 코드에서 진행중인 사항 때문에 의미가 없어 보입니다.제 3 자 라이브러리에 의해 예외가 발생했습니다.
Eclipse 디버거를 사용하면 속성의 키와 값을 내 맵에 추가 할 때 예외가 발생합니다.
public class Element {
private HashMap<String, String> attributes = new LinkedHashMap<String, String>();
...
public void setAttribute(String key, String value) {
...
attributes.put(key, value);
}
}
키 및 값 추가 된 직 후, this
잡는 Javolution에서 예외 :
javolution.xml.stream.XMLStreamException: Local name cannot be null
어느 key
또는 value
널이다. 맵에 추가 될 때 예외가 던져지는 곳을보기 위해 코드를 한 단계 더 나아갈 수 없으며 스택 추적도없고 어디에서 또는 예외가 발생하는지 설명하기 위해 아무 곳에 나 표시되는 파일/행 번호가 없습니다.
Javolution의 이전 구현에 대한 빠른 Google 검색에서이 특정 예외는 XMLStreamWriterImpl 유형의 몇 가지 메소드를 사용하여 던집니다. 나는이 메소드들을 사용할 때마다 중단 점을 설정했다. 그러나 디버거는 코드의 후반부에서 사용될 때까지 디버거를 사용하지 않는다 (그리고 localName 변수는 선언시 초기화된다).
아무에게도이 예외가 throw되는 이유를 알 수있는 방법에 대한 조언이 있습니까?
스택 추적 :
Java HotSpot(TM) 64-Bit Server VM[localhost:3999]
Thread [main] (Suspended)
XMLImplMain$Element.setAttribute(String, String) line: 827
XMLImplMain.translate(Element) line: 133
XMLImplMain.translate(Element) line: 140
XMLImplMain.translate(Element) line: 140
XMLImplMain.loadXML(String) line: 118
Bootstrap.main(String[]) line: 32
Thread [EventWriter] (Running)
show stacktrace – Archer
이 XLStream 판독기에서 유효성 검사가 활성화되어 있습니까? XML이 XSD를 준수합니까? – NiranjanBhat
[Eclipse에서 예외에 대한 중단 점]을 만들 수 있습니다 (http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fviews%2Fbreakpoints%2Fref-addexception_viewaction .htm) –