Awalnya bingung kenapa try catch di laravel kok kadang2 bisa, kadang2 gk bisa. Walhasil ternyata yang tidak berhasil itu karena terdapat koneksi yang berbeda.
Maka untuk mengatasi masalah tersebut adalah sebagai berikut :
DB::beginTransaction();
DB::connection('mysql_finance')->beginTransaction();
try {
DB::connection('mysql_finance')->commit();
DB::commit();
} catch (\Exception $e) {
DB::connection('mysql_finance')->rollback();
DB::rollback();
dd($e);
}