我有以下錯誤信息:的Python內置的例外 - 如何讓例外領域
type object 'SomeClass' has no attribute 'some_class_field'
唯一的例外是類型「AtrributeError」的。
有什麼辦法來改變錯誤消息:
Provider class 'SomeClass' has no field 'some_class_field'
我想這些參數保存在蟒蛇異常類,我認爲有可能是以下類型的解決方案:
try:
# some code
except AtrributeError as ae:
print("Provider class '{0}' has no field '{1}'").format(ae.type_object, ae.attribute))
exit(1)
您總是可以從異常對象中提取值。但是,爲什麼你需要自定義消息? –
@Jim Fasarakis Hilliard我想知道如果沒有定義我自己的例外,這是否會發生,這就是爲什麼我問。另外我認爲對於不用python編寫的人來說,這會更好理解。 –
不要定義你自己的例外;從'ae.args [0]'得到異常信息並提取你需要的部分。然後將它們打印出來(使用'.format'或其他你需要的東西)。 –