我想除了誘變劑引發的例外。但是,這裏有很多可能的例外。有什麼方法可以通配符(通過正則表達式/ etc)由except處理異常嗎?另一種方法是剛剛的fugly ...Python:嘗試...除了通配符外的例外名稱?
mutagen.apev2.APEBadItemError
mutagen.apev2.APENoHeaderError
mutagen.apev2.KeyError
mutagen.apev2.ValueError
mutagen.easyid3.EasyID3KeyError
mutagen.easyid3.KeyError
mutagen.easyid3.ValueError
mutagen.flac.FLACNoHeaderError
mutagen.flac.FLACVorbisError
mutagen.flac.TypeError
mutagen.id3.EnvironmentError
mutagen.id3.EOFError
mutagen.id3.ID3BadCompressedData
mutagen.id3.ID3BadUnsynchData
等:P
一種方法是找出他們是否有一個共同的基類(他們似乎來自一個庫,所以這是可能的)。然後,您可以捕獲基類,並且如果exc是inherited_exc:#...'則通過派生類。 – phg
等一下,我在想c#(早點在這裏)。這應該是'if isinstance(exc,inherited_exc_type)',例如'isinstance(ex,mutagen.flac.TypeError)' – phg