If the invoked service within transformer throws an exception then how does it caught?
AFAIK the exception will be thrown as usual and you can get more detail using getLastError service(Which include service name, error details etc) in the catch block.
It depends. If the service you are using in transformer is taking care of error in it self then in calling service you will not get any error. It will suppress the error else error thrown by transformer can be caught in catch block of calling service.