I would like to suggest that the EOracleError exception should be a EDatabaseError descendant.
(instead of Excpeiont). Tools like Reportbuilder will often catch the EDatabaseError exception, and then exceptions from DOA will be unhandled. That makes it difficult to add "good" and seamless DOA...