DatatypeConfigurationException

DatatypeConfigurationException

在创建这样的新XMLGregorianCalendar实例时,我是否真的需要处理DatatypeConfigurationException异常,还是可以安全地排除它?

try {
    header.setRequestDateTime(
                DatatypeFactory.newInstance().newXMLGregorianCalendar(
                        new GregorianCalendar()));
} catch (DatatypeConfigurationException e) {
    // pass
}

我对the documentation的解释和一些粗略的逻辑说,除非我给它一些不好的输入,否则这不会真正引发异常。在上面的示例中情况并非如此。这是JavaDocs所说的:

如果DATATYPEFACTORY_PROPERTY指定了系统属性,
存在“javax.xml.datatype.DatatypeFactory”,其名称为
该属性的值被实例化。期间抛出的任何异常
实例化过程包装为
DatatypeConfigurationException

我认为我可以安全地抑制此检查的异常吗?

最佳答案

DatatypeConfigurationException类型的异常可能在静态方法调用中仅在中发生

DataTypeFatory factory = DataTypeFactory.newInstance();

因此,您必须只将它
对待一次。但是您应该对待它一次,,否则根本无法创建XMLGregorianCalendar实例。

清楚地说出电话
XMLGregorianCalendar xmlCal = factory.newXMLGregorianCalendar(new GregorianCalendar());

从不不会抛出DatatypeConfigurationException,因此在创建GregorianCalendar实例的XML表示形式时,您不必对其进行处理。 -从后面的调用中的Java SE API开始,只能出现NullPointerException

07-28 10:38