If you are using transactions and the sql operation fails, I know that it rolls back all the changes, but will it then halt all code after the finally statement or will the rest continue to run?

Does something like the below code look right or should I be using a catch statement? And is it possible to simulate an error for testing purposes?

```
public static boolean updateSuccessful = false;

updateToVersion2();
//Does anything after here still run on error?

if(!updateSuccessful) {
    deleteAndRecreateDatabase();
}

public void updateToDbVersion2() {
    this.myDataBase.beginTransaction();
    try {
        this.myDataBase.execSQL("UPDATE myRecords SET column = 'newValue1' WHERE _id = 1");
        this.myDataBase.execSQL("UPDATE myRecords SET column = 'newValue2' WHERE _id = 2");
        this.myDataBase.setTransactionSuccessful();
        // This is not reached on update error, right?
        updateSuccessful = true;
    } finally {
        this.myDataBase.endTransaction();
    }
}

```