[ET Trac] [Einstein Toolkit] #738: use catch/throw in LORENE ID thorns to report file-open failures
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Wed Jan 25 22:31:02 CST 2012
#738: use catch/throw in LORENE ID thorns to report file-open failures
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
the LORENE classes Bin_NS/Bin_BH/Mag_NS do not check for errors in fopen
and simply pass the returned file hanlde to fread. If one enters the wrong
filename in parameter files this causes a segfault. The attached patches
add a patch to ExternalLibraries/LORENE to check for the error condition
and throw ios_base::failure(sterror(errno)) upon error. The ID thorns
catch this exception.
My main questions is whether we are happy with this kind of error handling
using C++ exceptions (which requires very little code change) or would
rather have the LORENE classes themselves spit out the error message (and
abort()). Notice that the error happens in a constructor so I cannot
simply return an error code from the LORENE function.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/738>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list