On Tuesday, 4 July 2017 at 10:14:11 UTC, Ola Fosheim Grøstad
wrote:
On Monday, 3 July 2017 at 20:22:39 UTC, Crayo List wrote:
On Thursday, 29 June 2017 at 21:06:12 UTC, Ola Fosheim Grøstad
wrote:
On Thursday, 29 June 2017 at 19:34:22 UTC, Crayo List wrote:
Checked exceptions are a horrible idea because they leak
internal implementation details as part of the signature of
a method directly and in a transitive manner, which of
course is one huge aberration!
What do you mean? Exceptions that leave a module clearly
aren't internal implementation details…
Correct!
But I said 'checked exceptions' are.
How does "checked" affect whether something is internal or not?
int open(string file)
{
if(!exists(file))
throw new SomeException;
...
}
a few weeks later;
int open(string file)
{
if(file == null)
threw new NullSomethingException;
same as before
}
What happens to the 3000 direct and indirect calls to open() ?
Notice how the 'interface' has not changed, only the
implementation.