Thanks you very much for your reply.
I already use error start event in different use cases, and that's ok but it implies that you have in every ServiceTask a try/catch on Exception, and then throw the end error event.
This use case may be suitable for service task, even if try/catching Exception in every of them will then be mandatory to trap any exception.
However, I would like to not rely on this behaviour because I would also like to be able to trap exception that could occur because my diagram fails.
For instance we may have a gateway with 2 branches, on first branches we test if (for instance) the "transition" variable equals to "OK", and on the second if it equals to "KO". Finally, if we set the "transition" variable to another value different from "OK" or "KO" then an exception will be raised (I tested that use case).
Typically, this is the kind of problem I would like to recover properly (instead of having the exception thrown to the caller).