On Monday, 25 February 2013 at 19:38:59 UTC, Vladimir Panteleev wrote:
On Monday, 25 February 2013 at 19:28:33 UTC, Lars T. Kyllingstad wrote:
This means that you will almost *always* have to check whether a variable exists before using it, thus rendering opIndex() pretty much useless for most cases.

Check... and do what? Print a nicer error message?

That would depend on the application.


Furthermore, I really don't think it is too much to expect that a user of a systems language such as D checks the return values of functions that may return a 'null' value.

Expecting any sorts of things from the library user is not the way to go. It is the same reason why returning integer error codes has gone by way of history in favor of exception handling: checking all return values is cumbersome, it requires writing more code, many programmers don't do it, and the result is bad programs. The simplest code should also be correct, this is one of D's principles.

Exceptions are designed to handle exceptional cases. A missing environment variable isn't exceptional, it is commonplace.

Lars

Reply via email to