[M.-A. Lemburg] > Wouldn't a generic builtin for these kinds of things be > better, e.g. a function returning a default value in case > an exception occurs... something like: > > tryexcept(list.pop(), IndexError, default) > > which returns default in case an IndexError occurs. Don't > think this would be much faster that the explicit try:...except: > though... As a function (builtin or not), tryexcept will never get called if list.pop() raises an exception. tryexcept would need to be a new statement type, and the compiler would have to generate code akin to try: whatever = list.pop() except IndexError: whatever = default If you want to do it in a C function instead to avoid the Python-level exception overhead, the compiler would have to wrap list.pop() in a lambda in order to delay evaluation until the C code got control; and then you've got worse overhead <wink>. generalization-is-the-devil's-playground-ly y'rs - tim
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4