在測試的一段代碼,看起來有點像,我已經得到了一驚:引發錯誤不會阻止try-except子句執行嗎?
if x:
try:
obj = look-for-item-with-id==x in a db
if obj is None:
# print debug message
raise NotFound('No item with this id')
return obj
except Exception, e:
raise Error(e.message)
我預計,如果沒有項目,在一個數據庫提供的ID(X),該NotFound異常會被撫養。但是,在獲得if子句並打印調試消息後,它會轉到except子句並引發異常(exc消息是Item not found ...)。有人可以這樣善良,在這裏啓發我嗎?
您正在引發'NotFound',捕獲它,然後引發'Error'。你期望會發生什麼? – tzaman
好吧,我現在明白了。加註並不是逃避條款,而是被抓住。恥辱在我:) – fanny