Both of these came in via an IBM contributed fix :-
http://mail.openjdk.java.net/pipermail/2d-dev/2011-October/002206.html
He [it appears] wanted to be very sure the throw was executed but it seems
like it could just be moved after the finally block which might be better
than suppressing the warning.
-phil.
On 6/3/2014 10:11 AM, Joe Darcy wrote:
Hello,
Please review a fix for
JDK-8044694: Fix finally lint warnings in sun.print
http://cr.openjdk.java.net/~darcy/8044694.0/
One of javac's lint warnings is for a finally block that cannot
complete normally. The printing code has two instances with a finally
block like
} finally {
pw.flush();
throw new IOException(sw.toString());
}
This cannot complete normally, since an exception is unconditionally
thrown, but it very much seems to be the intended behavior. The fix is
to add @SuppressWarnings("finally") annotations:
--- old/src/share/classes/sun/print/PSPrinterJob.java 2014-06-03
10:07:16.000000000 -0700
+++ new/src/share/classes/sun/print/PSPrinterJob.java 2014-06-03
10:07:16.000000000 -0700
@@ -687,6 +687,7 @@
// Inner class to run "privileged" to invoke the system print
command
+ @SuppressWarnings("finally") // Exception always thrown in
finally block
private class PrinterSpooler implements
java.security.PrivilegedAction {
PrinterException pex;
--- old/src/solaris/classes/sun/print/UnixPrintJob.java 2014-06-03
10:07:16.000000000 -0700
+++ new/src/solaris/classes/sun/print/UnixPrintJob.java 2014-06-03
10:07:16.000000000 -0700
@@ -971,6 +971,7 @@
// Inner class to run "privileged" to invoke the system print
command
+ @SuppressWarnings("finally") // Exception always thrown in
finally block
private class PrinterSpooler implements
java.security.PrivilegedAction {
PrintException pex;
Thanks,
-Joe