Python的教程states:處理異常與else子句
的嘗試... except語句有一個可選的else子句,其中, 存在時,必須遵循所有的除外條款。這對代碼 非常有用,如果try子句不引發異常,則該代碼必須執行。 例如:
for arg in sys.argv[1:]: try: f = open(arg, 'r') except IOError: print 'cannot open', arg else: print arg, 'has', len(f.readlines()), 'lines' f.close()
使用該else子句是不是增加額外的代碼 到try子句,因爲它避免了意外捕獲異常 不是由代碼募集的被保護更好嘗試...除了 聲明。
問題1>閱讀上述文件後,我仍然沒有得到想法,爲什麼我們不能簡單地將代碼從else子句進入try子句。
問題2>如何try子句可能會意外地捕捉異常,因爲所有的捕撈量在做except子句,對不對?