I think some points needs more precisions in this question. Or at least the explanation.
The question says anything about the interface of the session bean. So we can assume that the bean is exposed through a EJB 2.1 client view interface (does the exam be so vicious ?

In this case the exception thrown by the container is effectively javax.transaction.TransactionRolledbackException. But in this case, the exception thrown for a local client is not the one you name in explanations. The exception thrown for a local client invoking through an ejb 2.1 view is : javax.ejb.TransactionRolledbackLocalException.
the exception you mention in this question : javax.ejb.EJBTransactionRolledbackException, is thrown in the use case you describe but for a classic EJB 3.0 business interface exposed as local or remote.
So, if the goal of the question is exception handling whithout knowing the type of interface (the bean could be exposed as an EJB 2.1), the proposed answers are corrects but, i think explanations shoud be more precise.
Moreover, a bean could be exposed through a 2.1 client view and through a 3.0 view.
But if you had in mind an EJB 3.0 business interface, I think there is a problem in this question. No valid proposal.
I hope i was enough clear.
Regards,
Alex