[jdk10] RFR for 'JDK-8177721: Improve diagnostics in sun.management.Agent#startAgent()

Poonam Parhar poonam.bajaj at oracle.com
Mon Apr 24 20:09:46 UTC 2017


Hello Shafi,

You could do something like this:

+ public static void error(AgentConfigurationError e) {
+        String keyText = getText(e.getError());
+        String params = e.getParams();
+
+        System.err.print(getText("agent.err.error") + ": " + keyText);
+
+        if (params != null && params.length != 0) {
+           StringBuffer message = new StringBuffer(params[0]);
+           for (int i = 1; i < params.length; i++) {
+               message.append(" " + params[i]);
+           }
+           System.err.println(": " + message);
+        }
+        e.printStackTrace();
+        throw new RuntimeException(e);
+ }

This error() variant first prints the 'error' and 'params' of the AgentConfigurationError and then prints the complete stack trace (including the cause).

Daniel,

Originally, if the stack trace was intentionally ignored to keep the error message short, then I think just printing the 'cause' instead of complete stack trace would also be sufficient in getting to the cause of the error here.

Instead of 

e.printStackTrace();

we can just do:

System.err.println("Caused by: " + e.getCause());


Thanks,
Poonam


> -----Original Message-----
> From: Daniel Fuchs
> Sent: Thursday, April 13, 2017 2:25 AM
> To: David Holmes; Shafi Ahmad; serviceability-dev at openjdk.java.net
> Subject: Re: [jdk10] RFR for 'JDK-8177721: Improve diagnostics in
> sun.management.Agent#startAgent()
> 
> On 13/04/2017 02:15, David Holmes wrote:
> > Overall the exception management in this code looks like it predate
> > the existence of an "exception cause" and should probably be updated
> > to utilize that more effectively.
> 
> Hi David,
> 
> I think the original idea was to display a localized message to the end
> user - and not frighten him with a big unlocalized stack trace.
> 
> But I otherwise agree with your suggestion.
> 
> best regards,
> 
> -- daniel


More information about the hotspot-runtime-dev mailing list