On 05/21/2013 02:57 PM, Serhiy Storchaka wrote:
In my example code the "raise" keyword appears lexically inside the "except" clause. The compiler would automatically emit a different raise opcode in that case. NB in your example the "raise" is just as intentional, but invoked from a different function, which causes the above criterion to result in a false negative. Even in so, the behavior would be no worse than now, you'd just get the old message.21.05.13 13:05, Hrvoje Niksic написав(ла):On 05/21/2013 11:56 AM, Serhiy Storchaka wrote:try: x = d['key'] except KeyError: x = fallback('key')def fallback(key): if key not in a: raise BusinessError(...) return 1 / a[key] # possible TypeError, ZeroDivisionError, etcYes, in that case the exception will appear unintentional and you get the old message — it's on a best-effort basis.In both cases the BusinessError exception raised explicitly. How do you distinguish one case from another?
Hrvoje _______________________________________________ Python-Dev mailing list [email protected] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com