error reporting: PigException needs to have a way to indicate that its message 
is appropriate for user
------------------------------------------------------------------------------------------------------

                 Key: PIG-1612
                 URL: https://issues.apache.org/jira/browse/PIG-1612
             Project: Pig
          Issue Type: Improvement
            Reporter: Thejas M Nair
             Fix For: 0.9.0


The error message printed to the user by pig is the message from the exception 
that is the 'root cause' from the chain of getCause() of exception that has 
been thrown. But often the 'root cause' exception does not have enough context 
that would make for a better error message. It should be possible for a 
PigException to indicate to the code that determines the error message that its 
getMessage() string should be used instead of that of the 'cause' exception.

The following code in LogUtils.java is used to determine the exception that is 
the 'root cause' -
{code}
    public static PigException getPigException(Throwable top) {
        Throwable current = top;
        Throwable pigException = top;

        while (current != null && current.getCause() != null){
            current = current.getCause();
            if((current instanceof PigException) && 
(((PigException)current).getErrorCode() != 0)) {
                pigException = current;
            }
        }
        return (pigException instanceof PigException? 
(PigException)pigException : null);
        
    }
{code}





-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to