Ignorieren DatatypeConfigurationException, wenn neue XMLGregorianCalendar
Beim erstellen eines neuen XMLGregorianCalendar
Instanz wie diese, brauche ich wirklich zu behandeln, die DatatypeConfigurationException
Ausnahme, oder kann ich sicher unterdrücken?
try {
header.setRequestDateTime(
DatatypeFactory.newInstance().newXMLGregorianCalendar(
new GregorianCalendar()));
} catch (DatatypeConfigurationException e) {
//pass
}
Meine interpretation die Dokumentation und einige grobe Logik sagt, dies wäre nicht wirklich eine Ausnahme, es sei denn, ich gebe es einige schlechte Eingabe. Und nicht der Fall im obigen Beispiel. Hier ist, was die JavaDocs dazu sagen:
Wenn das system durch property angegebenen DATATYPEFACTORY_PROPERTY,
"javax.xml.datatype.DatatypeFactory", existiert eine Klasse mit dem Namen
der Wert der Eigenschaft instanziiert wird. Jede Exception, die geworfen werden, während die
Instanziierung Prozess ist verpackt wie ein
DatatypeConfigurationException.
Bin ich Recht in der Annahme, dass ich sicher zu unterdrücken, geprüft Ausnahme?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausnahme von Typ
DatatypeConfigurationException
kann passieren, nur in der statische Methode nennenDeshalb Sie haben zu behandeln es nur einmal. Aber Sie sollten behandeln Sie es einmal, sonst können Sie nicht erstellen Sie Ihre XMLGregorianCalendar-Instanzen, an alle.
Um es klar zu sagen, die call -
nie wirft einen
DatatypeConfigurationException
, damit Sie nicht haben, um es zu behandeln, die beim erstellen von XML-Darstellungen von IhremGregorianCalendar
Instanzen. - Wie aus der Java-SE-API im letzteren nenne nur einNullPointerException
auftreten können.Wenn Sie opress diese Ausnahme, Sie wird nicht legen Sie die header-Anfrage. In dieser Hinsicht, ja, es ist ein ernst Ausnahme. Sie können generieren von XML-Darstellungen von Datum und Uhrzeit Ihres Instanzen.
Auf der anderen Seite, wird Ihr Programm nicht crash. Es ist nicht eine kritische VM-Fehler. Aber Sie haben mit ihm zu beschäftigen. Sie werden nicht in der Lage, es zu beheben Laufzeit. Ihre server und VM Umgebung sein setup entsprechend.
new GregorianCalendar()
diese exception nie auftreten. Ich glaube, dass das nur mal eine Ausnahme kann auch hier passieren wird, wenn ich pass in schlechten Argumente, das ist nicht der Fall fürnew GregorianCalendar()
. Ein ähnliches Beispiel: ich weiß, dass die Teilung kann zu einer Ausnahme-wenn ich eine Division durch null. Heißt das, ich sollte wrap etwas wiedouble PI = 22.0 / 7.0;
in einem try/catch? Obwohl die Abteilung kann lösen Sie eine Ausnahme in einigen Fällen, ich weiß, es wird nie in diesem Falle.