try:
os.execvp('sqlite3', args)
except OSError, er:
if er.errno == 2: #file not found
raise OSError, _("sqlite3 executable not found. Is it installed?")
else:
raise
except:
raise
在上面的代碼中,except
聲明捕捉OSError
但什麼是er
變量立場?呃這裏代表什麼?
編輯:這只是除了OSError
;有沒有辦法除了任何錯誤,並獲得它的異常對象?
那麼你也有樂趣警告由於老','語法,其中一些像'除了KeyError,ValueError:'不會做你可能期望的事情 - 它會捕獲一個'KeyError'並將它賦值給局部變量'ValueError'。所以'除了(KeyError,ValueError):'需要 –
確實發現了! – 2011-10-09 08:39:35
我也更新了這個答案,以便刪除棄用的舊式異常提升('raise Exception,message')以支持新的樣式('raise Exception(message)')。 '將使用除'.. as'形式之外的新風格,您應該使用更新的raise語法(即已被支持更長時間)。 –