string.format()的通用异常处理程序

时间:2016-01-10 14:26:37

标签: python-3.x exception-handling

TL; DR

我正在研究tkinter程序,我经常使用.format()。我在控制台上写消息。该程序具有外部翻译可能性,翻译者需要使用带有索引的{}。在主要语言文件(转换是一个单独的文件)中,有解释索引是什么。问题是如果IndexError使用高于编程的数字,则可能存在IndexError。而不是尝试:除了:每次我调用我所谓的self.queue(字符串)方法时,我想“绑定”一个尝试,除了格式方法,所以每当它在整个程序中导致异常时,就会调用一个处理程序。

简短版本:

如何将异常处理程序绑定到.format()方法或任何其他方法(如果需要)?

1 个答案:

答案 0 :(得分:2)

我最好的办法是编写一个包装函数,例如:

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