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.