【问题标题】:Handle error when rendering string in Python在 Python 中渲染字符串时处理错误
【发布时间】:2014-10-20 05:02:33
【问题描述】:

在 Python 中呈现字符串时,我遇到了处理错误。 为了清楚起见,我将举例说明。 我在 Python 中有一个模板字符串如下:

template = "%(name)s, %(address)s, %(school)s"

我有一本字典如下:

arg = {'name': nameString,
       'address': addressString,
       }

渲染字符串时使用:

myFinalStr = template%arg

出现错误:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'school'

这是因为在模板字符串中找不到字段“学校”。我该如何处理这个错误(我认为我不能使用 try 异常来处理,因为它不是异常)

我必须处理这个错误,因为我允许用户输入模板,这可能是对的,也可能是错的。

【问题讨论】:

  • “因为不是例外”,所以是例外。这是一个KeyError

标签: python string render


【解决方案1】:

你可以使用try...except

基本格式是

try:
   myFinalStr = template%arg
except KeyError:
   #do somthing to handle the keyerror

或喜欢

try:
    template = "%(name)s, %(address)s, %(school)s"
    myFinalStr = template%arg
except KeyError:
     template = "%(name)s, %(address)s"
     myFinalStr = template%arg

这将处理错误。

【讨论】:

    猜你喜欢
    • 2011-08-11
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-08
    • 2019-07-12
    • 2018-07-29
    相关资源
    最近更新 更多