Ответить на комментарий

Vladimir Rusinov чт, 28/07/2021 - 19:47

Возможно я не совсем понял проблему, но по-моему все делается очень легко:

#!/usr/bin/env python
class ApiDispatcher(object):
    def _exception_handler(self, e):
        print str(e)
        print type(e)
        if type(e) == IndexError:
             print "Check your indexes!"
        # logging, error messages, etc...
class MyClass(ApiDispatcher):
    def init(self):
        try:
            # do something
            myfunction()
        except Exception, e:
            self._exception_handler(e)
def myfunction():
    #a = []
    #return a[42]
    raise IndexError('blah-blah-blah')
if __name__ == '__main__':
    c = MyClass()
    c.init()

Повторение кода - несколько строчек try..catch в каждом методе.

Правда возможно в не совсем объектных языках это не прокатит, но тогда мне кажется о ексепшенах говорить вообще сложно.



Ответить

CAPTCHA
Вы точно не бот?
2 + 4 =
Without JavaScript you won't pass captcha test, sorry. Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.