2014-03-28 24 views
0

這可能是一個稍微愚蠢的問題,但我想知道如何存儲異常類的子類。讓我來解釋一下:我希望有一個這樣的數組:在數組中存儲「導入」語句的一部分

excep_type = [ValueError, NameError, IoError, ...] 

爲什麼我建立一個類,我要它,我要被經常提及這些異常的原因。我知道所有這些例外情況都存在於例外情況模塊中(請參閱here),那麼我該怎麼做呢?

編輯:我很抱歉,我應該提到我想要一個數組中的所有異常。我可以手動輸入,但肯定有辦法抓住他們?

+1

所有這些例外都是內置的;你不需要導入它們,只需使用它們。 –

+0

你不會找到每個*例外的列表。即使你使用''BaseException'開始並遍歷'__subclasses__'樹,任何人都可以在任何時候創建一個新的異常類型。爲什麼你需要一個巨大的每一個例外清單?即使你經常參考他們,只要按名稱來做。 – user2357112

回答

1

你可以嘗試使用反思這樣的:

進口例外

my_exceptions = [X在目錄(例外)x如果沒有x.startswith( '__')

打印my_exeptions

[ 'ArithmeticError', '的AssertionError', 'AttributeError的', 'BaseException', 'BufferError', 'BytesWarning', 'DeprecationWarning','Error','EnvironmentError','Exception','FloatingPointError', 'FutureWarning','GeneratorExit','IOError','ImportError', 'ImportWarning','IndentationError','IndexError','KeyError' , '一個KeyboardInterrupt', 'LookupError', '的MemoryError', 'NameError', 'NotImplementedError', 'OSERROR', 'OverflowError', 'PendingDeprecationWarning', '的ReferenceError', 'RuntimeError', 'RuntimeWarning',' StandardError','StopIteration','SyntaxError', 'SyntaxWarning','SystemError','SystemExit','TabError','TypeError', 'UnboundLocalError','UnicodeDecodeError','UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError','UnicodeWarning', 'UserWarning','ValueError','Warning','Zer oDivisionError']

相關問題