Сталкер - блог веб-программиста - Комментарии к "Упражнение: обработка множества исключений" /blog/alek%24/uprazhnenie-obrabotka-mnozhestva-isklyuchenii RSS лента комментариев к "Упражнение: обработка множества исключений" ru В любом случае, спасибо за /blog/alek%24/uprazhnenie-obrabotka-mnozhestva-isklyuchenii#comment-1379

В любом случае, спасибо за комментарий :-)

Fri, 29 Jul 2011 01:01:37 +0000 Alek$ comment 1379 at http://stalker-x.ru
Комментарии починим :-) Я /blog/alek%24/uprazhnenie-obrabotka-mnozhestva-isklyuchenii#comment-1378

Комментарии починим :-) Я надеюсь, в августе у меня наконец дойдут руки до движка блога, вот тогда будет вообще здорово.

Суть упражнения не в сложности, а в том, что его можно сделать массой разных способов. И вы привели тот, который я чуть было не использовал. Но потом я придумал более короткий способ и использовал его.

Fri, 29 Jul 2011 01:01:11 +0000 Alek$ comment 1378 at http://stalker-x.ru
А еще кажется я сломал /blog/alek%24/uprazhnenie-obrabotka-mnozhestva-isklyuchenii#comment-1376

А еще кажется я сломал комментарии.

И еще одна бага: если нажать на "просмотреть" а потом попробовать сохранить - ругается на неправильный текст капчи, которой нигде не видно.

Thu, 28 Jul 2011 12:49:18 +0000 Vladimir Rusinov comment 1376 at http://stalker-x.ru
Возможно я не совсем понял /blog/alek%24/uprazhnenie-obrabotka-mnozhestva-isklyuchenii#comment-1375

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

#!/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 в каждом методе.

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

Thu, 28 Jul 2011 12:47:04 +0000 Vladimir Rusinov comment 1375 at http://stalker-x.ru