私は、fun_a()
がエラーなしで正しく実行され、 、次にfun_b()
が実行されるような方法で呼び出したいユーザー定義関数を記述しました。エラーなしで実行された場合にのみ複数の関数を呼び出す
一方、エラーが発生した場合、スクリプトを終了し、スクリプトが壊れたというエラーメッセージをfun_a()
に返します。
私は、fun_a()
がエラーなしで正しく実行され、 、次にfun_b()
が実行されるような方法で呼び出したいユーザー定義関数を記述しました。エラーなしで実行された場合にのみ複数の関数を呼び出す
一方、エラーが発生した場合、スクリプトを終了し、スクリプトが壊れたというエラーメッセージをfun_a()
に返します。
これは、あなたが二つ以上の機能でこれを行うにしたい場合は、あなたがそれらをループできるよう
try:
fun_a():
except Exception as e:
print "An error has occurred: {}".format(e)
else:
fun_b()
try-except-else
ブロックで行われ、1にエラーが発生した場合にループを切断することができます。
functions = [fun_a, fun_b, fun_c]
for function in functions:
try:
function()
except Exception as e:
print "An error has occurred while running {0}: {1}".format(function, e)
break
、それだけでエラーが代わりにそれを処理し、プログラムを手動で停止するので、とにかくプログラムを停止させた方が良いかもしれません。
「else」、いい仕事について知らなかった –
@JoeIddon [これを見る](https://shahriar.svbtle.com/the-possibly-forgotten-optional-else-in-python-try-statement) –
"複数の"機能が2つ以上の機能を備えていたらどうしますか? –
を実行し、この:
try:
fun_a():
except Exception, BaseException as e:
print(f'An error has occurred: {f}')
else:
fun_b()
このコードは機能しません。 'fun_a()'の後に予期しないコロンがあり、 'Exception、BaseException as e'はできません。 'f 'とは何ですか?エラーが発生しました:{f}' 'やっていますか? –
は、 "すべてのエラー" を定義します。 'fun_a'が例外を発生させた場合、プログラムはとにかく停止します。それでは、「あらゆる誤り」はどういう意味ですか? –
'fun_a()'が例外を発生させた瞬間から 'fun_a()'の後に 'fun_b()'を書くことができます。 –