On Tezos, exceptions cannot be caught, the whole transaction is backtracked if an exception occurs.
A transaction starts with the call from an implicit account (tz1 accounts) and includes all the subsequent operations (transfers, contract origination, etc.).
For example: if Alice calls contract B, contract B calls contract C and contract C raises an exception then everything is backtracked. Alice's call never occurred.
- raise x: t
Aborts the current transaction and raises an error
raise "NotAdmin" raise ("TOKEN_UNDEFINED", 404)