On 11Nov2024 18:24, dieter.mau...@online.de <dieter.mau...@online.de> wrote:
Loris Bennett wrote at 2024-11-11 15:05 +0100:
I have the following in my program:
   try:
       logging.config.fileConfig(args.config_file)
       config = configparser.ConfigParser()
       config.read(args.config_file)
       if args.verbose:
           print(f"Configuration file: {args.config_file}")
   except FileNotFoundError:
       print(f"Error: configuration file {args.config_file} not found.  
Exiting.")

Do not replace full error information (including a traceback)
with your own reduced error message.
If you omit your "try ... except FileNotFoundError`
(or start the `except` clause with a `raise`), you
will learn where in the code the exception has been raised
and likely as well what was not found (Python is quite good
with such error details).

Actually, file-not-found is pretty well defined - the except action itself is fine in that regard.

[...]
2. In terms of generating a helpful error message, how should one
  distinguish between the config file not existing and the log file not
  existing?

Generally you should put a try/except around the smallest possible piece of code. So:

    config = configparser.ConfigParser()
    try:
        config.read(args.config_file)
    except FileNotFoundError as e:
        print(f"Error: configuration file {args.config_file} not found: {e}")

This way you know that the config file was missing.

Cheers,
Cameron Simpson <c...@cskk.id.au>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to