Я пишу некоторые модульные тесты, которые намеренно передают плохие строки в парсер Java DOM XML.
например.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String message_xml = ""; // Empty string, not valid XML!!!
ByteArrayInputStream input = new ByteArrayInputStream(message_xml.getBytes());
Document doc = db.parse(input);
Это правильно выбрасывает исключение SAXParseException (это то, что ожидает мой unit test). Но он также записывает сообщение в System.err(stderr) в консоли Java:
[Fatal Error] :1:1: Premature end of file.
Есть ли способ настроить синтаксический анализатор XML, чтобы НЕ писать в stderr?
Я использую Java 1.6SE.