Wow, I have never realized that except’s expression is a full featured expression!
Best Regards Ilya Kulakov > On Sep 26, 2019, at 7:00 AM, Serhiy Storchaka <[email protected]> wrote: > > 26.09.19 12:07, [email protected] пише: >> So when coding, at deferent stages we need different levels of error >> handling. For example at stage of finding the concept, initial >> implementation, alpha, releasing testing, etc. >> By some bits of code we can simulate enable/disable error handling. >> But it would be very helpful to have such thing built in the language with >> some more pythonic salt 😁. >> For example, >> Assume this behavior.. >> ************ >> SetExceptionLevel(50) >> try: >> x = 1 / 0 >> except(0) Exception as e: >> print(e) >> except (40) ZeroDivisionError as e1: >> x = math.inf >> except (40) ValueError as e2: >> x = None >> except(60) Exception as e3: >> raise e3 >> **************** >> i.e. one exception can have more than one handler and each handler has a >> level to enable it, >> so now for this example the first 2 exception will run only, >> If we want the last one to run also we need to change the first line to >> "SetExceptionLevel(70)" for example. >> The third one " ValueError " will never be triggered. >> And if no exception met the requirements "level and exception type" then the >> error will be raised out. > > It is not clear what your propose syntax means, but you can use e.g. such > code: > > except (ZeroDivisionError if level > 40 or ()) as e1: > x = math.inf > > If level > 0, you will catch ZeroDivisionError and set x = math.inf. > If level <= 40 the ZeroDivisionError exception will pass to other handlers. > _______________________________________________ > Python-ideas mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/K57OE77UM4ZSHP4E2L5FEKRRBNALCCGR/ > Code of Conduct: http://python.org/psf/codeofconduct/ _______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/GQ6PEX5V6QFAO5ZTG3Q4RIRPYLUXK3B4/ Code of Conduct: http://python.org/psf/codeofconduct/
