Exception handling can be very painful with multi-layer systems. Especially many business rules and services, you should be handling exceptions really well.
I tried to implement an exception handling which is working under one main exception and seperate with defined enumeration values. This operation grants manageable and more controlled systems.
In example folder you can see how it can be used. Enjoy it!