On Monday, 20 February 2012 at 15:50:08 UTC, Andrei Alexandrescu
wrote:
On 2/20/12 3:01 AM, foobar wrote:
On Monday, 20 February 2012 at 07:10:39 UTC, Andrei
Alexandrescu
wrote:
On 2/20/12 12:44 AM, foobar wrote:
I just died a little reading this. Are you suggesting that in
order to handle IO exceptions I need to: try {
...whatever... }
catch (PackageException!"std.io") {...} } catch
(PackageException!"tango.io") {...} } catch
(PackageException!"otherLib.io") {...} ...
What the hell is wrong with just using an IOException?
There's nothing wrong, but there's a possible
misunderstanding. If
tango.io and otherLib.io cooperate with std, then they'd
originate
exceptions in std.io (as opposed to their own). Do note that
the
issue is exactly the same if libraries use IOException - they
all
must agree on using the same nomenclature, whether it's called
PackageException!"std.io" or IOException.
The above is patently wrong. Are you suggesting that tango.io
and
otherLib.io need to depend on Phobos IO?? If so, that removes
the
benefits of using 3rd party libraries. If that's not your
intention
(and I really hope it isn't!) than IOException must be defined
in a
*separate* module that tango can depend on.
Actually that just shuffles the matter around. Any setup does
demand
that some library (in this case most probably the standard
library) will
be a dependency knot because it defines the hierarchy that
others should
use.
Not accurate. A 3rd party library that want to be compatible will
no doubt depend on the standard library's _exception hierarchy_
but that does *not* mean it should depend on the parallel
functionality in the standard library. Per our example with IO,
if I use tango.io I certainly do not want my application code to
include redundantly both std.io and tango.io. I wanted to use
tango.io as an *alternative* to std.io.
[Meta] side-note: It's extremely irritating when you demand
utmost
pedantic reasoning from others while you often answer without
providing such pedantic reasoning yourself or worse answer
with a
single word posts. That shows a complete lack of respect for
others.
You seem to be of high regard for yourself which is not
justified at
all given this attitude.
When giving brief answers I was trying to maximize throughput
in a couple of cases when the meaning was obvious from the
context. Otherwise I do my best to elaborate my points. But I
see how that can be irritating, I won't continue it.
Thank you.
Andrei