in reply to Data checking configuration files

I use configuration files a lot. What works for me is to check that the config file exists and immediately exit if it isn't.

After that, for any given configuration key/value pair, it's a case-by-case instance. Many times you can have a sensible default and the configuration file is there to over-ride that default. So not the mere non-existence of key/value pair isn't necessarily an error. If a value is required, I die (hopefully gracefully).

Hand in hand with config files is good logging. Most any program that is going to use configuration files should have decent logging to the screen and/or a file. I'd definitely log whenever a key was looked for and not found.

--
“For the Present is the point at which time touches eternity.” - CS Lewis