Except 절 없이 Try 블록을 실행한 후 IndentationError가 발생하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-02 13:09:29
원래의
981명이 탐색했습니다.

Why Am I Getting an IndentationError After a Try Block Without an Except Clause?

No Except가 있는 Try 블록 후 예기치 않은 IndentationError가 발생함

Exception 절 없이 try 블록 뒤에 함수를 정의하려고 하면 사용자가 다음을 수행할 수 있습니다. IndentationError가 발생합니다. 이는 모든 try 블록에 일치하는 Except 또는 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 또는 finally 블록이 정의되지 않았기 때문에 Python 인터프리터가 try 블록 내에서 후속 코드가 들여쓰기될 것으로 예상하기 때문에 발생합니다.

해결책

이 문제를 해결하려면 try 블록 뒤에 Except 블록을 추가하거나, 예외 처리가 필요하지 않은 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿