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.

[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.


Andrei

Reply via email to