I think I've finally fixed a longstanding problem in RDBO. When loading classes with circular dependencies, RDBO has to defer the creation of certain relationships until all the participating classes are loaded. To do so, a certain class of errors must be "swallowed" silently with the knowledge that, eventually, once all classes are loaded, these operations will succeed.
The problem has always been distinguishing between errors that are simply due to a class not being fully initialized, and errors that are unrecoverable (e.g., a syntax error in a related class). To solve this, several versions ago, I made all recoverable errors throw a "class not yet ready" exception that I could identify. But I still could not load my (very large, very circularly dependent) full set of RDBO classes at work, so I had to go back to silently swallowing some errors. This baffled me because I was sure I was throwing the correct type of exception in all the right places. Well, I think I finally tracked down the source of these problems. (Turns out the correctly thrown exception could sometimes be converted to a "plain" exception while traveling up the stack when passing through some code I never expected to hit.) Fixing this problem revealed some other issues in my RDBO classes (e.g. in cases where I'm using a related-class Manager call as part of the initialization of another class). The upshot is that, like me, you too may have these kinds of errors in your RDBO classes, but never knew about it because these errors were "swallowed" in earlier versions of RDBO and you just never happened to go down the (semi)broken code path. So, my suggestion to everyone on the list is to grab the SVN version of RDBO and try it with your code. I *think* that any errors you see will be errors that already existed in our RDBO classes, but if you get any false alarms, please post to the list. SVN is at: https://rose.svn.sourceforge.net/svnroot/rose/trunk/modules/Rose-DB-Object This new error handling code will go out in the next release, so test now or be sorry later! :) -John ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Rose-db-object mailing list Rose-db-object@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rose-db-object