Program logic bugs vs input/environmental errors

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 27 18:52:11 PDT 2014


On 9/27/2014 6:24 PM, Steven Schveighoffer wrote:
> On 9/27/14 7:15 PM, Walter Bright wrote:
>
>> When I say "They are NOT for debugging programs", I mean they are NOT
>> for debugging programs.
>
> Library code often cannot make that choice.
> The issue with exceptions vs. errors
> is that often you don't know where the input comes from.
>
> e.g.:
>
> auto f = File(someInternalStringThatIsCorrupted) -> error
> auto f = File(argv[1]) -> exception
>
> How does File know what it's target file name came from?

If the app is concerned about invalid filenames as bugs, you should scrub the 
filenames first. I.e. the interface is defined improperly if the code confuses a 
programming bug with input errors.





More information about the Digitalmars-d mailing list