DateTimeFormatter.format() uses exceptions for flow control
Clément MATHIEU
clement at unportant.info
Mon Oct 10 06:53:50 UTC 2016
On Mon, 2016-10-10 at 06:47 +1000, David Holmes wrote:
Hi David,
> Please note that patches can only be accepted if they are sent
> through, or hosted upon OpenJDK infrastructure. If the patch is small
> enough can you send it inline in the email (attachments are often
> stripped)
Here it is:
--- old/src/java.base/share/classes/java/time/format/DateTimePrintContext.java 2016-10-09 17:01:30.326739656 +0200
+++ new/src/java.base/share/classes/java/time/format/DateTimePrintContext.java 2016-10-09 17:01:30.228738595 +0200
@@ -302,13 +302,10 @@
* @throws DateTimeException if the field is not available and the section is not optional
*/
Long getValue(TemporalField field) {
- try {
+ if (optional == 0) {
return temporal.getLong(field);
- } catch (DateTimeException ex) {
- if (optional > 0) {
- return null;
- }
- throw ex;
+ } else {
+ return temporal.isSupported(field) ? temporal.getLong(field) : null;
}
}
Clément MATHIEU
More information about the core-libs-dev
mailing list