以下は、私のコードです:TypeError例外:例外は、古いスタイルのクラスであるか、またはBaseExceptionから導出しなければならない、をstrない
test = 'abc'
if True:
raise test + 'def'
、私はこれを実行すると、それは私にそうTypeError
TypeError: exceptions must be old-style classes or derived from BaseException, not str
を与えますtest
はどんな種類のタイプですか?
例外として文字列を高めるためにとても悪いですなぜあなたは説明してもらえますか? – BioGeek
@BioGeek文字列例外に関する問題は、 'raise'と' except'の両方でリテラルが使用され、例外に追加情報を付加するためのOOメカニズムを提供せず、複数の例外タイプ。例外がクラスの前に言語に追加され、例外クラスが追加されたら文字列例外は下位互換性のためにのみ保持されました。彼らの削除は、(誤った)機能の削除のように、言語を単純化しました。 –
この機能が最後にサポートされたバージョンについて言及してくれてありがとう。それが私を助けました。 – SpaceTrucker