jfr*_*z42 20 java xml dom xml-parsing
我正在编写一些故意将坏字符串传递给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);
Run Code Online (Sandbox Code Playgroud)
这是正确抛出SAXParseException(这是我的单元测试所期望的).但它也在Java控制台中向System.err(stderr)写了一条消息:
[Fatal Error] :1:1: Premature end of file.
Run Code Online (Sandbox Code Playgroud)
有没有办法配置XML解析器不写入stderr?
我正在使用Java 1.6SE.
phi*_*hag 28
安装你自己的ErrorHandler
:
db.setErrorHandler(new ErrorHandler() {
@Override
public void warning(SAXParseException e) throws SAXException {
;
}
@Override
public void fatalError(SAXParseException e) throws SAXException {
throw e;
}
@Override
public void error(SAXParseException e) throws SAXException {
throw e;
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2334 次 |
最近记录: |