Program logic bugs vs input/environmental errors
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Sat Sep 27 16:42:18 PDT 2014
On 9/27/2014 4:33 PM, bearophile wrote:
> Walter Bright:
>
>> As for the programmer wanting to know where the message "missing }" came from,
>>
>> grep -r dmd/src/*.c "missing }"
>>
>> works nicely. I do that sort of thing all the time. It really isn't a problem.
>
> grep is not useful for the purposes explained in issue 13543 because the file
> name is often inside a string variable, that is initialized elsewhere or
> generated in some way. So the exception is useful to know where's the
> instruction in user code that has tried the failed I/O action, as I've explained
> in that issue.
Even if that is what you wanted, you won't get that from FileException, as it
will only show file/lines emanating from calls inside std.file, not from higher
level callers.
Besides, take a bit of care when formulating a string for exceptions, and you
won't have any trouble grepping for it. This isn't rocket science.
Presenting internal debugging data to users for input/environmental errors is
just bad programming practice. We shouldn't be enshrining it in Phobos and
presenting it as a professional way to code.
More information about the Digitalmars-d
mailing list