Don't ask to ask, just ask | |
PerlMonks |
Re^2: Testing unexpected I/O failuresby kcott (Archbishop) |
on Nov 24, 2020 at 20:05 UTC ( [id://11124157]=note: print w/replies, xml ) | Need Help?? |
G'day Fletch, Overall, there are a lot of input parameters; currently, there are about 50 possible messages that can arise when the sanity checks are run. Most of these are not related to any file checks: "A can't be zero-length"; "B must be an integer"; "C can't be greater than D"; and so on. There are nine file-related checks as outlined in the OP. I wanted to get all sanity checks performed prior to starting the processing proper; which begins with opening the input file. I considered it to be more useful to advise the user upfront that there was a specific problem with the directory or file parameter supplied, rather than offering a generic $! message from open, such as "File not found", "Permission denied", or similar. Your suggestion of doing the open first with supplied values (i.e. dir_param/file_param) and then dealing with failure might be a better way to go. Something like:
With the do determining more specific messages: "Directory was not supplied"; "File specified does not exist"; and so on. If users get a specific message, it may indicate something they can fix themselves, especially if it's a simple typo; e.g. file parameter supplied as file.tx but should be file.txt. When presented with a generic message, users may not be able to investigate themselves and may, unfortunately, provide the oft seen error report: "It didn't work". — Ken
In Section
Seekers of Perl Wisdom
|
|