2014-10-20 45 views
0

在Python中呈現字符串時,我陷入了處理錯誤的困境。 我會舉例說明。 我有一個模板字符串作爲跟隨的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' 

這是因爲無法在模板字符串中找到字段「school」。我怎麼能處理這個錯誤(我不能使用嘗試異常處理,因爲它不是一個例外,我認爲)

我必須處理這個錯誤,因爲我允許用戶輸入模板,可以是對還是錯。

+1

「因爲它不是一個例外」,它是一個例外。這是[KeyError](https://docs.python.org/2/library/exceptions.html#exceptions.KeyError) – Andy 2014-10-20 05:09:49

回答

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 

將採取錯誤的照顧。