[geos-devel] Exception policy

strk strk at keybit.net
Fri Apr 30 05:37:30 EDT 2004


About the SIGABORT, I've found the problem.
It's my fault.
Trying to make the code strict I've added some throw() specifications
and I missed to include some of the possible trhown exceptions,
in particular AssertionFailedExceptions.

I've now modified some of the code to specify a GEOSException *,
from which AssertionFailedExecption derives.

I did not known that, but I've learned that once you add a throw
specificaion you cannot catch exceptions not specified in the
list, but you're bound to receive a terminate()->abort() call.

Now. Since it is in theory possible that exceptions other then
GEOSException are thrown (out of memory for example), how should
GEOS act, being it a library ?
Should we completely omit throw specifications ?
Is the default abort() acceptable in this case ?
Should we add 'exception' to the specification list ?

Comments welcome.

--strk;



On Mon, Apr 26, 2004 at 10:09:20PM -0400, Carl Anderson wrote:
> On 04/26/2004 12:20:42 PM, strk wrote:
> > On Mon, Apr 26, 2004 at 09:11:04AM -0700, Martin Davis wrote:
> ...
> > > no need to pass it to the toGeometry method.  Really, the  
> > toGeometry
> > > method is only there to support converting Envelopes to a Geometry  
> > -
> > > it's not intended for outside use.  Probably should be
> > package-private
> > > in JTS.
> > >
> > > Make sense?
> > 
> > Sure, so the bug is in the comment alone :)
> > If that function is not part of the API, what code was trying to use
> > it Carl ?
> > 
> > --strk;
> 
> in PostGIS-0.8.1
> postgis_geos_wrapper.cpp:
>     g = geomFactory->toGeometry(envelope,geomFactory-
> >getPrecisionModel(), SRID);
> 
> matches a function in GEOS-1.0 but does not match anything in GEOS-CVS
> 
> Pls remember that my original email was addressing two seperate issues
>    (1) - the API creep
>    (2) - the stability of the geos library due to Asserts /
>         Exceptions / SegFaults.  Especially in the context of the
>         C program Postgres
> 
> the latter involve bugs, the former with tagging and whether fixes to  
> 1.0.0 or CVS would be appropriate.
> 
> C.
> 
> --
> Carl Anderson
> GIS Manager Fulton County Georgia
> carl.anderson at vadose.org
> carl.anderson at co.fulton.ga.us
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel



More information about the geos-devel mailing list