Robin,
There a number of issues involved with considering moving to
try/throw/catch error handling. The first one that comes to mind is
language binding. Second is cross-platform portability with OSs like
PocketPC, which, if I remember correctly don't have compilers that
support exceptions or RTTI. I'm not in a mental state to debate the
merits of either system for a few months, but we have a long running
list of improvements to the engine. If it is something you have a
practicle reason for desiring, please open a new feature request and
include justification and we'll not forget to address the issue
(actually this goes out to anyone who wishes to switch error handling
models).
-Troy.
PS. I think we've done a pretty solid job to keep memory usage down to
a minimum. I'm not sure that any of our apps are running out of memory
doing anything these days. We run on some small platforms, like PDAs
with as little as a total of 16MB of RAM. The optimizations to make us
work in these environments have left us with a fairly lean memory
footprint, even on larger systems. Most of our objects which allocate
and cache resources implement an SWCacher interface with
resourceConsumption and lastAccess reporting, and a flush method to ask
them to clean up. We where planning on writing a CacheMgr which all
these SWCacher object could be handed to, that would monitor these
objects and keep total resourceConsumption within a reasonable
tolerance, but haven't done so yet. That was a long PS.
[EMAIL PROTECTED] wrote:
In a message dated 6/10/2005 12:03:57 P.M. Pacific Daylight Time,
[EMAIL PROTECTED] writes:
Hey Daniel,
Thanks for the catch, but we don't check for successful memory
allocation anywhere in the engine. I'm not sure what we'd do if we ran
out of memory. Gracefully degradating from such a state is a complex
problem. Also, our engine doesn't use try/catch/throw error handling,
so throwing anything would cross a consistency line. Note: not
debating
that we SHOULDN'T use exception error handling, only that we currently
do not
Troy,
Wearing my QA hat, I think we ought to plan on using try/catch/throw
error handling pretty soon. How about after your sabbatical?:) Also can
we set some standard for garbage collection? For example when we
construct a temporary object is the deconstructor working properly to
clean things up? I'm not a C++ programmer, so maybe you have some better
ideas to help keep us from running out of memory.
In His Grace,
Robin
E-mail: [EMAIL PROTECTED]
------------------------------------------------------------------------
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page