Webrev updated at http://cr.openjdk.java.net/~weijun/8029994/webrev.02/
Besides your suggestions, I've changed the final line in the constructor from throw new KrbException(joe) to 202 if (DEBUG) { 203 System.out.println("Exception thrown in loading config:"); 204 ioe.printStackTrace(System.out); 205 } 206 throw new KrbException("krb5.conf loading failed"); If the IOE contains info like "/etc/krb5.conf.2 not found", the file name will be removed. On Jun 19, 2014, at 21:52, Sean Mullan <sean.mul...@oracle.com> wrote: > On 06/19/2014 01:39 AM, Wang Weijun wrote: >>> >570 public Void run() throws Exception { >>> > >>> >This can be declared to throw IOException, then you can change lines >>> >586-591 to: >>> > >>> >throw pe.getException(); >> You mean javac will be smart enough to find out that pe's cause can only be >> IOException? It does not compile here. > > Sorry, you are right, you still need to cast it to IOException, but you don't > need to catch any other Exceptions. See the example/rationale in the > AccessController class description. Maybe we can change PrivilegedActionException to PrivilegedActionException<E extends Exception>? Thanks Max