[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-10334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16412709#comment-16412709
 ] 

ASF GitHub Bot commented on CLOUDSTACK-10334:
---------------------------------------------

lzh3636 commented on a change in pull request #2510: CLOUDSTACK-10334: Fix 
inadequate information for handling catch clauses
URL: https://github.com/apache/cloudstack/pull/2510#discussion_r176915843
 
 

 ##########
 File path: server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java
 ##########
 @@ -258,11 +258,11 @@ public void processParameters(final BaseCmd cmd, final 
Map params) {
                 }
 
             } catch (final IllegalArgumentException e) {
-                s_logger.error("Error initializing command " + 
cmd.getCommandName() + ", field " + field.getName() + " is not accessible.");
+                s_logger.error("Error initializing command " + 
cmd.getCommandName() + ", field " + field.getName() + " is not accessible.", e);
 
 Review comment:
   Thanks for your reply. The exception is thrown by a new exception 
cloudruntime, but the original exception variable "e" is lost when throwing the 
new exception, so the logs will not show if the exception type is 
IllegalArgumentException or IllegalAccessException.
   
   It's true that it will be better to improve the log message, but I'm not so 
sure if I can change the message correctly. So it's a safe way to add original 
stack trace information here, at least we can know the true exception types 
from the logs generated without any harm.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Inadequate information for handling catch clauses
> -------------------------------------------------
>
>                 Key: CLOUDSTACK-10334
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10334
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Zhenhao Li
>            Priority: Major
>              Labels: easyfix
>
> Their are some situations that different exception types are caught, but the 
> handling of those exceptions can not show the differences of those types. 
> Here are the code snippets we found which have this problem:
> *cloudstack/server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java*
> [https://github.com/apache/cloudstack/blob/893a88d225276e45f12f9490e6af2c94a81c2965/server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java]
> At Line *261* and Line *265.* We can see that two exception types are caught, 
> but the logging statements here can not show the exception type at all.
> Also they threw new exceptions after the logs, but the throw statements in 
> these two catch clauses are identical, which are not distinguishable.
> It may cause confusions to the person who is reading the log, the person can 
> not know what exception happened here and can not distinguish logs generated 
> by these two statements.
>  Maybe adding stack trace information to these two logging statements and 
> change the log message to handle specific situations is a simple way to 
> improve it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to