【发布时间】:2012-10-22 14:35:24
【问题描述】:
我有这个功能。我的 pygame 的文本到矩形转换器。
def text_to_rect(text, name='default'):
try:
font = load.text_style[name]['font']
aa = load.text_style[name]['aa']
color = load.text_style[name]['color']
except NameError:
font_path = pygame.font.get_default_font()
font = pygame.font.Font(font_path, 24)
aa = 1
color = (0,0,0)
if not name=='default':
text = text+'(ERROR: Global load object not defined.)'
except KeyError:
font_path = pygame.font.get_default_font()
font = pygame.font.Font(font_path, 24)
aa = 1
color = (0,0,0)
if not name=='default':
text = text+'(ERROR: '+name+' text style does not exist.)'
return font.render(text,aa,color)
在两个 except 块中有 4 行相同的代码。如果发生任何异常,我想运行这 4 行,然后休息到特定的异常。
【问题讨论】:
-
我不是 Python 或面向对象编程方面的专家,但您可能想看看多态性,并使其使某个错误扩展另一个错误。很抱歉我不能给出具体的例子,但是我记得我以前做Java的时候有这样的事情......
标签: python exception exception-handling python-2.7 pygame