[xsde-users] Feature proposal : throw an exception when accessing
non-present member
Ivan Le Lann
ivan.lelann at free.fr
Fri Jan 28 09:24:32 EST 2011
Hi all,
Here is the typical generated code for a variable length member.
inline
::bar_type& foo_type::
bar ()
{
return *this->bar_;
}
Obviously, calling bar() when bar_present() is false is an access violation.
For a fix length member, you get something between a random value or a default one.
I consider current behavior as both inconsistent and tricky.
Now, how about throwing an exception with very basic information?
I dislike having to do C-style checks to show decent error report.
The concern is mostly for variable length elements but I'd vote for consistency.
Should this proposal meet success, I'd be glad to help with an implementation.
This should probably be an option, conflicting with no-exception, and whose default
value has to be carefully chosen.
Now one question is left wide open:
How to apply this to mandatory elements/attributes?
One could consider XML validation exceptions sufficient for those,
but that would keep the process of building from scratch hazardous ...
Regards,
Ivan
More information about the xsde-users
mailing list