This is the single exception that is thrown by the entire DAF for any scenario that requires an exception to be thrown. It is expected that the DataAccessManager always pass the original cause to this Exception when it is created so that as a developer, you can interrogate the actual underlying exception for any additional attributes.
The typical patterns followed by data modelers working using Stored Procedures is to use mix of two different modes of getting data back – One using OUT parameters for simple return values and the other using RETURN values which could be a data set, etc...The combinations provided for Stored Procedure execution effectively take care of all permutations expected.