The problem with this is that we end up having to catch java.lang.Exception all over our code. Simply because this method in the Magnolia Shop throws it. And therefore all methods that use it (quite a lot).
I think it is bad practice to throw java.lang.Exception. You should always throw a specific subclass so that you (and we) can implement good exception handling.
In general I think the exception handling in the shop module could be improved here and there but this is the most annoying one for us I guess.