On Tuesday, 11 June 2013 at 17:01:43 UTC, Lars T. Kyllingstad
wrote:
Ah, I suspected so. (At a point in D's history writeln() did
do a flush; people wanted to eliminate it for efficiency
reasons.)
We could introduce a flush() with throw in std.stdiobase.
As in a module destructor? Isn't it better to let the error
pass silently rather than throwing an exception that can't be
caught?
Passing silently on errors would contradict with several talks
Andrei and Walter have given about how D's error handling is much
better than C/C++ one (there are some HelloWorld program
comparisions from those languages available on YT), I think they
want that claim to remain valid. To me it is important to have
error reported whenever something fails and have it as fast as
possible - image a db backup system which fails silently.