Во-первых, твой catch может сработать ДО окончания всех попыток, только если ошибка не относится к «
concurrency error», как их называют в ларавел.
Во-вторых, если такое случилось, то номер попытки всё равно узнать не возможно, потому что в итоге выкидывается
просто исключение без всяких параметров.
Запускай транзакцию в цикле, лови ошибки и считай попытки.