Except 句のない Try ブロック後の予期しないインデントエラー
Exception 句のない Try ブロックの後に関数を定義しようとすると、ユーザーがIndentationError が発生します。これは、すべての try ブロックには少なくとも 1 つの一致する例外ブロックまたはfinally ブロックが伴わなければならないという Python のルールから生じています。
コード例
次のコードを考えてみましょう。
<code class="python">def first_function(x): try: return do_something_else() def second_function(x, y, z): pass</code>
エラー メッセージ
このコードを実行すると、次のような IndentationError が発生します:
def second_function(x, y, z): ^ IndentationError: unexpected unindent
エラーの理由
IndentationError は、Except ブロックまたは Final ブロックが定義されていないため、Python インタープリターは後続のコードが try ブロック内でインデントされることを期待しているために発生します。
解決策
この問題を解決するには、try ブロックの後に例外ブロックを追加するか、例外処理が必要ない場合は pass ステートメントを使用します:
<code class="python">def first_function(x): try: return do_something_else() except Exception: pass def second_function(x, y, z): pass</code>
注: 古いPython のバージョンではこのエラーが後続のコードの IndentationError として報告される場合がありますが、新しいバージョンではより具体的なエラー メッセージが表示される場合があります。
以上がExcept 節のない Try ブロックの後に IndentationError が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。