FileDocCategorySizeDatePackage
UserError.javaAPI DocGlassfish v2 API4637Fri May 04 22:34:12 BST 2007com.sun.enterprise.appclient

UserError

public class UserError extends Throwable
Represents any user error, such as an invalid combination of command options, or specifying a non-existent JAR file.

Such errors should be user-correctable, provided the message is clear. So no stack traces should be displayed when UserErrors are thrown.

author
tjquinn

Fields Summary
private static final String
SHOW_STACK_TRACES_PROPERTY_NAME
Allows user to turn on stack traces for user errors - normally off
private String
usage
xmlMessage implementation showed the usage message after the error
Constructors Summary
public UserError(String message)


       
        super(message);
    
public UserError(String message, Throwable cause)

        super(message, cause);
    
public UserError(Throwable cause)

        super(cause);
    
Methods Summary
public voiddisplayAndExit()
Displays the user error message, and any messages along the exception chain, if any, and then exits. If showUsage has been set to true, then the usage message is displayed before exiting.

Only the messages, and not the stack traces, are shown because these are user errors that should be user-correctable. Stack traces are too alarming and of minimal use to the user as he or she tries to understand and fix the error.

        for (Throwable t = this; t != null; t = t.getCause()) {
            System.err.println(t.getLocalizedMessage());
        }
        if (usage != null) {
            System.err.println(usage);
        }
        if (Boolean.getBoolean(SHOW_STACK_TRACES_PROPERTY_NAME)) {
            printStackTrace();
        }
        System.exit(1);
    
public static com.sun.enterprise.appclient.UserErrorformatUserError(java.lang.String message, java.lang.String args)
Creates a new UserError instance having formatted the message with the arguments provided.

param
message the message string, presumably containing argument placeholders
param
args 0 or more arguments for substitution for the placeholders in the message string
return
new UserError with message formatted as requested

    
                                                    
           
        String formattedMessage = MessageFormat.format(message, (Object[]) args);
        UserError ue = new UserError(formattedMessage);
        return ue;
    
public voidsetUsage(java.lang.String usage)
Sets whether or not the usage message should be displayed after the error message is displayed to the user.

param
showUsage the new setting

        this.usage = usage;