Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで手動で例外をスロー/発生させるにはどうすればよいですか?


一般的な例外を発生させるのではなく、特定の問題に適合する最も具体的な例外コンストラクターを使用します。特定の例外をキャッチするには、それをサブクラス化する他のすべてのより具体的な例外をキャッチする必要があります。

特定の例外を発生させ、同じ特定の例外を処理する必要があります。

特定の例外を発生させるには、次のようにraiseステートメントを使用します。

import sys
try:
f = float('Tutorialspoint')
print f
raise ValueError
except Exception as err:
print sys.exc_info()
出力 次の出力が得られます

(<type 'exceptions.ValueError'>, ValueError('could not convert string to float: Tutorialspoint',), <traceback object at 0x0000000002E33748>)
次の例のような引数でもエラーが発生する可能性があります

try:
raise ValueError('foo', 23)
except ValueError, e:
print e.args
出力 次の出力が得られます

('foo', 23)

  1. ループ内でPython例外を処理する方法は?

    次のように書き直すことで、コードの例外を作成できます a=[] foo = 'redbullz' try: for i in foo: a.append(i) print a[8] except Exception as e: print e 次の出力が得られます list index out of range Process finished with exit code 0

  2. C拡張機能からPython例外を発生させる方法は?

    上記のモジュールでは、次のsetup.pyスクリプトを準備する必要があります- from distutils.core import setup, Extension setup(name='helloworld', version='1.0', \ ext_modules=[Extension('helloworld', ['hello.c'])]) ここで、次のコマンドを使用します $ python setup.py install 拡張機能をインストールすると、Pythonスクリプトtest.pyでその拡張機能をインポー