More LDC Exception Handling Stuff
Frits van Bommel
fvbommel at REMwOVExCAPSs.nl
Thu Jan 1 06:03:46 PST 2009
dsimcha wrote:
> When people say that exception handling doesn't work on LDC in some
> circumstances, does this mean that if the code uses exceptions it won't work,
> that you can't catch exceptions or something else? If you just can't catch
> exceptions, it could still be useful to me for some data mining code that I
> sometimes write that has huge memory requirements (meaning I need 64-bit) but
> absolutely no robustness requirements (I pretty much treat all exceptions as
> unrecoverable because the program will only be run a few times and worrying
> about these details is a waste of my time.) Would I be able to use LDC on
> platforms where exception handling isn't supported, with library code that
> throws exceptions, as long as I didn't care about catching these exceptions?
Even "uncaught" exceptions get caught by the runtime.
Last I checked on my (x86-64 Linux) machine, this code segfaults in the
runtime when compiled with LDC:
-----
void main() {
throw new Exception("test");
}
-----
I'm not sure what the throwing code does if you set rt_trapExceptions to
false. It might just terminate the program, so try it and see; add
something like the following code to one of your modules:
-----
extern extern (C) bool rt_trapExceptions;
static this() {
rt_trapExceptions = false;
}
-----
(Note: This only works with Tango)
More information about the Digitalmars-d
mailing list