# Jenkins - force exit pipeline when failure

### 1. Issue

In some specific cases, if we use `try` `catch` exception, Jenkins knows that issues, but still continue running other stage in pipeline. We need a force handling to make this pipeline failure immediately

### 2. Solution

```groovy
currentBuild.result = 'FAILURE'
error("Failure right here, force exit")
```

```groovy
stage("DB migration") {
  steps { script {
    slackSend (color: COLOR_MAP['SUCCESS'],
               channel: '#live-deployment',
               token: 'Fawxxxxxxxxxxxx',
               message: "*`STARTING`*: *core db migrating*, build #${env.BUILD_NUMBER}, <${env.BUILD_URL}|Go to this job>")
    try {
      withCredentials([usernamePassword(credentialsId: 'xxxxx-credential', usernameVariable: 'DB_USERNAME', passwordVariable: 'DB_PASSWORD')]) {
        withAWS(region:"eu-cexxxxxxx", credentials:"aws") {
          sh """
            packer build -force dbmigration/vm-db-migration.json
          """
        }
      }
    } catch (error) {
        slackSend (color: COLOR_MAP['FAILURE'],
                   channel: '#live-deployment',
                   token: 'Fawxxxxxxxxxxxx',
                   message: "*`FAILURE`*: *core db migrating*, build #${env.BUILD_NUMBER} \n${error}\n<${env.BUILD_URL}|Go to this job>")
        currentBuild.result = 'FAILURE'
        error("${error}")
    }
  }}
}
```
