2016-01-10 4 views
0

TL; DRУниверсальный обработчик исключений для String.Format()

Я работаю над программой Tkinter и я часто использую .format(). Я пишу сообщения на консоли. Программа имеет возможности внешнего перевода, и переводчик должен использовать {} с индексами. В основном файле языка (переводы - это отдельный файл) есть объяснение, какой именно индекс. Проблема заключается в возможности IndexError, если они используют число, превышающее запрограммированное. Вместо того, чтобы попробовать: за исключением: каждый раз, когда я вызываю свой так называемый метод self.queue (string), я хотел бы «привязать» попытку, кроме метода format, поэтому всякий раз, когда он вызывает исключение во всей программе, вызывается обработчик.

Короткая версия:

Как привязать обработчик исключений к .format() метод или любой другой метод, если это необходимо?

+0

Просьба [MCVE] (http://www.stackoverflow.com/help/mcve) –

ответ

2

я, что вам лучше всего написать функцию-обертку, таких как:

def tryprint(template, *args): 
    try: 
     print(template.format(*args) 
    except IndexError as err: 
     <handle IndexError, err> 
+0

Ах Хорошо, я буду найти решение с помощью обертки спасибо! –

Смежные вопросы