Sean Kelly wrote:
On Jul 29, 2010, at 8:21 PM, Walter Bright wrote:
Andrei Alexandrescu wrote:
Walter Bright wrote:
I think we misunderstand each other. A file copy program that fails due to,
say, the disk being full, should not produce a core dump. It should produce an
error message like:
error: disk full
An uncaught exception is NOT an invalid or crashed program in D.
I think Sean talks about Throwable objects that are not Exception objects.
It's reasonable for seg fault exceptions to produce a core dump. It isn't for
recoverable Exceptions, or for non-recoverable ones like out of memory.
At the moment, we don't differentiate between seg faults and non-recoverable
errors. Though seg faults are only thrown as exceptions on Windows which
doesn't have core dumps anyway, as far as I know. For what it's worth, I was
investigating this bug:
http://d.puremagic.com/issues/show_bug.cgi?id=4385
I see. Overall, my opinion is that regular exceptions that escape main(0
should simply print their error message to stderr and exit(1). There
should be no stack trace, abort(), core dump, or anything worse than
that. Print the string and exit(1). Anything more will force most people
to actually insert a try/catch in main to do the simple thing.
Andrei
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos