> 2. as it throw exception for next transaction even when current exception suppressed/handled,
You are plain wrong here.
Next **transaction** would be perfectly fine.
You are somehow ignoring the fact that to start that *next*
transaction you need a rollback/commit call.
next statement != next transaction.
Vladimir