On 21/02/20 10:05 AM, Stefan Ram wrote:
David Wihl <davidw...@gmail.com> writes:
I believe that it would be more idiomatic in Python (and other languages lik=
e Ruby) to throw an exception when one of these partial errors occur.

   I wonder whether the term "idiomatic" is too heavily
   burdened here.

   Python offers an idiom for handling a failure to do an
   operation - the exception.

   But you have special case of a run-time program of many
   operations, and you want the execution of the program to
   continue even in the case of failures to execute some of
   the operations. I am not aware of Python offering an idiom
   for this special case.

   I am always thinking about terminology first. So I'd say:
   You need to /define/ what "success" and "failure" means in
   the case of your operation. Then return normally in the case
   of success and return by exception in the case of failure.


Not arguing - and if I were the logical answer is "not Python", but...

PyTest (runs unit-tests, enables TDD) offers options to stop the test-runner at the first error-found or to keep going for up to n-errors. We can test for an error condition and if experienced such will not 'count' or stop the test-run. It distinguishes between hard-errors and warnings, and enables us to choose to 'elevate' one to the level of the other, and vice-versa. Its run-report lists which tests worked and which didn't (the 'last' or the up-to "n") - a clear advance on the OP's experience.


I think someone has already discussed, but if the intent is bulk-processing ("batch processing") then I'd expect to find a means of 'bailing-out' when an error is found, or of back-tracking to locate errors.

Perhaps, like my good-looks, my expectations of a professional standard are higher-than-average?
--
Regards =dn
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to