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

Pythonで例外を発生させる方法は?


raiseキーワードを使用して、強制的に例外を発生させることができます。 「raise」メソッドを呼び出すための構文は次のとおりです。

raise [Exception [, args [, traceback]]]

ここで、Exceptionは例外の名前です。オプションの「args」は、例外引数の値を表します。

また、オプションの引数であるtracebackは、例外に使用されるtracebackオブジェクトです。


#raise_error.py
try:
i = int ( input ( "Enter a positive integer value: " ) )
if i <= 0:
raise ValueError ( "This is not a positive number!!" )
except ValueError as e:
print(e)


上記のスクリプトをターミナルで次のように実行すると

$python raise_error.py
Enter a positive integer: –6

負の数を入力したため、以下が表示されます:

This is not a positive number!!

別のサンプルコード

# Here there is no variable or argument passed with the raised exception
import sys
try:
i = int ( input("Enter a positive integer value: "))
if i <= 0:
raise ValueError#("This is not a positive number!!")
except ValueError as e:
print sys.exc_info()
としてのValueErrorを除く

出力

Enter a positive integer value: -9
(<type 'exceptions.ValueError'>, ValueError(), <traceback object at
 0x0000000003584EC8>)




  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でその拡張機能をインポー