package de.ralfebert.imageassert.utils; import org.apache.commons.lang.StringUtils; public class LaunchException extends RuntimeException { private static final long serialVersionUID = 1L; private final int exitValue; private final String commandLine; private final String output; private final String errors; public LaunchException(int exitValue, String commandLine, String output, String errors) { this.exitValue = exitValue; this.commandLine = commandLine; this.output = output; this.errors = errors; } @Override public String getMessage() { String message = String.format("Exit value %d from process '%s'", exitValue, commandLine); if (StringUtils.isNotBlank(errors)) { message += "\n(Errors) " + errors.trim(); } if (StringUtils.isNotBlank(output)) { message += "\n(Output) " + output.trim(); } return message; } public String getCommandLine() { return commandLine; } public String getErrors() { return errors; } public String getOutput() { return output; } public int getExitValue() { return exitValue; } }