package liquibase.exception; import liquibase.changelog.ChangeSet; public class MigrationFailedException extends LiquibaseException { private static final long serialVersionUID = 1L; private ChangeSet failedChangeSet; public MigrationFailedException() { } public MigrationFailedException(ChangeSet failedChangeSet, String message) { super(message); this.failedChangeSet = failedChangeSet; } public MigrationFailedException(ChangeSet failedChangeSet, String message, Throwable cause) { super(message, cause); this.failedChangeSet = failedChangeSet; } public MigrationFailedException(ChangeSet failedChangeSet, Throwable cause) { super(cause); this.failedChangeSet = failedChangeSet; } @Override public String getMessage() { String message = "Migration failed"; if (failedChangeSet != null) { message += " for change set "+failedChangeSet.toString(false); } message += ":\n Reason: "+super.getMessage(); // Throwable cause = this.getCause(); // while (cause != null) { // message += ":\n Caused By: "+cause.getMessage(); // cause = cause.getCause(); // } return message; } }