가장 중요한 단점은 들어오는 XML을 처리하는 코드가 실제로 유효하지 않은/불완전한 파일을 수신하고 있으므로 DOM 구문 분석에 실패한 것입니다. 어떤 제안?XML을 처리 할 때 "java.lang.NullPointerException"의 가장 일반적인 원인은 무엇입니까?
답변
불완전한 파일은 분명히 볼 수있는 곳입니다. 파서로 보내지는 것을보기 위해 파싱하기 직전에 파일을 출력 할 것입니다. 그것이 불완전한 경우에 그것은 명백 할 것이다. 그것이 유효하지 않은 경우, 당신은 할 약간의 검색을해야합니다.
NPE가 던져지는 위치를 가리키는 스택 추적이 있어야합니다. 그것은 null이 될 수있는 변수의 수를 줄여야합니다. 디버거 나 printf를 얻는 대신 오류를 감지하자마자 적절한 검사를 추가하고 예외를 던질 것을 제안합니다. 나중에 신비한 문제를 피하는 것이 좋은 습관입니다.
코멘트 주셔서 감사합니다! 불행히도 그것들은 Java EAI 애플리케이션의 독점적 인 메소드이므로 소스를 수정할 수 없습니다. –
디버거 내부에서 Java 응용 프로그램을 실행하는 것이 이상적입니다. 따라서 캐치되지 않은 예외가 발생하면 콜 스택, 변수 등을 검사하여 충돌을 일으킨 행이 무엇인지, 그리고 어떤 데이터가 사용 된 null인지 정확하게 확인할 수 있습니다. .
어떤 이유로 든 디버거를 사용할 수 없으면 디버깅 지원을 사용하여 응용 프로그램을 컴파일하고이 특정 오류에 대한 예외 처리기를 추가하고 스택 추적을 인쇄하십시오. 다시 말하지만, 어떤 파일에서 충돌이 발생했는지 정확히 알 수 있습니다.
불행히도 나는 둘 다 할 수 없으며 독점적 인 응용 프로그램이므로 코드에 액세스 할 수 없으며 꽤 유산이기 때문에 거의 지원되지 않습니다. –
첫 번째 추측은 DOM을 사용하는 코드가 DTD에서 선택 사항으로 표시되어있는 요소를 의무적으로 취급한다는 것입니다.
덧붙여 편집 : DTD에 대해 유효성을 검사하지 않으면 다음과 같은 (예 : dom4j를 사용하여) null을 반환 할 수 없습니다.
doc.selectSingleNode("//some/element/in/a/structure");
요소 탐색 호출을 함께 스트링하거나 일반적으로 사용하기 전에 반환 값을 확인하지 않는 경우에도 마찬가지입니다.
코멘트를 감사드립니다! 그것에 대해 정교한 마음? –
- 1. 대규모 서버 프로그램을 설계 할 때 가장 일반적인 방법은 무엇입니까?
- 2. PHP 메모리 누수의 일반적인 원인은 무엇입니까?
- 3. 이벤트 처리 클로저가 작동을 멈추게 할 수있는 원인은 무엇입니까?
- 4. XML을 처리하는 파이썬에서 XML을 파싱 할 때
- 5. 잘못된 XML을 처리 할 .NET 용 Parser
- 6. 오디오 출력이 끊기는 원인은 무엇입니까?
- 7. 일반적인 재귀 함수 처리
- 8. 가장 일반적인 경우입니까?
- 9. ADODB 필드의 값에 액세스 할 때 System.AccessViolationException의 원인은 무엇입니까?
- 10. ABAP에서 참조 객체를 다운 캐스팅 할 때 MOVE_CAST_ERROR의 원인은 무엇입니까?
- 11. nokogiri에서 SAX를 사용하여 XML을 파싱 할 때 XML을 검색하는 방법
- 12. 액세스 할 수없는 예외를 일으키는 원인은 무엇입니까?
- 13. XML을 파싱 할 때 java NullPointerException
- 14. 정규 표현식의 가장 일반적인 용도는 무엇입니까?
- 15. 봄 프로젝트에서 AOP의 가장 일반적인 용도는 무엇입니까
- 16. ObjectDisposedException 처리 할 수없는 양식을 .Show()로 처리 할 때
- 17. 장고의 일반적인 취급 문제 처리
- 18. 컬렉션을 처리 할 때 올바른 속성 사용
- 19. 스트리밍 방식으로 Java에서 XML을 구문 분석하는보다 일반적인 방법은 무엇입니까?
- 20. ENOTCONN 오류의 원인은 무엇입니까?
- 21. C#의 일반적인 예외 처리
- 22. 일반적인 교육 제약 처리 예제
- 23. ResetEvent API가 실패 할 수있는 원인은 무엇입니까?
- 24. db : 롤백이 실패 할 수있는 원인은 무엇입니까?
- 25. XML을 구문 분석하는 가장 빠른 방법은 무엇입니까?
- 26. xml을 html로 변환하는 가장 쉬운 방법은 무엇입니까?
- 27. XML을 작성하는 가장 빠른 방법은 무엇입니까
- 28. xml을 사용하여 개체를로드합니다. 가장 좋은 방법은 무엇입니까?
- 29. XML을 사용하는 가장 좋은 방법은 무엇입니까?
- 30. 자바 : XML을 파싱 할 때 이스케이프를 무시합니다.
댓글을 주셔서 감사합니다. –