1. ホーム
  2. python

[解決済み] 1ブロックに複数のトライコード

2022-03-01 13:43:46

質問

tryブロック内の私のコードに問題があります。 簡単に説明すると、これは私のコードです。

try:
    code a
    code b #if b fails, it should ignore, and go to c.
    code c #if c fails, go to d
    code d
except:
    pass

このようなことは可能でしょうか?

どのように解決するのですか?

これを セパレート try のブロックがあります。

try:
    code a
except ExplicitException:
    pass

try:
    code b
except ExplicitException:
    try:
        code c
    except ExplicitException:
        try:
            code d
        except ExplicitException:
            pass

を実行することを想定しています。 code c のみ もし code b が失敗しました。

を実行する必要がある場合 code c 問わず をつける必要があります。 try のブロックが次々と現れます。

try:
    code a
except ExplicitException:
    pass

try:
    code b
except ExplicitException:
    pass

try:
    code c
except ExplicitException:
    pass

try:
    code d
except ExplicitException:
    pass

を使っています。 except ExplicitException であるため、ここでは 決して は、すべての例外をやみくもに無視するのは良い習慣ではありません。あなたが無視することになるのは MemoryError , KeyboardInterruptSystemExit を無視したり、何らかのリレイズや意識的な理由がない限り、それらを処理することは通常望めません。