> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 예외 처리란 무엇입니까?

Python에서 예외 처리란 무엇입니까?

王林
풀어 주다: 2023-06-03 18:40:33
원래의
2655명이 탐색했습니다.

Python의 예외 처리는 프로그램을 실행할 때 오류가 발생하면(예: 0으로 나누기, 파일이 존재하지 않음 등) 프로그램이 종료되거나 예외가 발생하면 프로그램이 자동으로 예외로 점프한다는 의미입니다. 해당 처리를 위한 코드 블록을 처리하므로 프로그램이 직접 종료되지 않습니다.

예외 처리는 프로그래머가 오류 정보를 출력하는 데 매우 중요하며, 오류 위치를 찾고, 프로그램의 오류율을 줄이고, 프로그램의 안정성과 유지 관리성을 향상시키는 데 도움이 될 수 있습니다.

Python의 예외 처리에는 주로 try, Except, finally 및 raise라는 키워드가 포함됩니다. 사용법과 기능은 아래에 소개되어 있습니다.

1.try-excess

try-Exception 문은 예외를 포착하고 이를 처리하여 예외로 인해 프로그램이 중단되는 것을 방지할 수 있습니다. 구문은 다음과 같습니다.

try:
    #代码块
except [异常类型]:
    #异常处理代码块
로그인 후 복사

try 문 아래의 코드 블록은 예외가 발생하면 예외 처리를 위해 제외 블록으로 점프합니다. 예외가 발생하지 않으면 Except 블록의 코드를 건너뜁니다.

예외 뒤에 특정 예외 유형이 오면 해당 유형의 예외가 발견될 때만 제외 블록의 코드가 실행됩니다. 제외 뒤에 어떤 예외 유형도 없으면 모든 예외가 발견됩니다.

예는 다음과 같습니다.

try:
    a = 5 / 0  # 这里会抛出一个ZeroDivisionError异常
except ZeroDivisionError:
    print("除数不能为零")
로그인 후 복사

설명: 위 프로그램은 5/0을 실행할 때 ZeroDivisionError 예외를 발생시키지만 try-Exception 문을 사용하기 때문에 프로그램이 충돌하지는 않지만 다음 문장을 출력합니다. " 제수는 0이 될 수 없습니다."

2.finally

finally는 선택적인 코드 블록입니다. try 블록에 예외가 있는지 여부에 관계없이 finally 블록의 코드가 실행됩니다. 예:

try:
    # 代码块
except:
    # 异常处理代码块
finally:
    # finally块
로그인 후 복사

위 프로그램에서 try 블록에서 예외가 발생하면 예외 처리를 위해 Except 블록이 실행되고, 예외가 발생하지 않으면 finally 블록의 코드도 실행됩니다. return, break, continue 등의 문이 finally 블록에 나타나면 finally의 값이 반환됩니다.

예제는 다음과 같습니다.

try:
    f = open('filename.txt', 'r')
    lines = f.readlines()
    result = ""
    for line in lines:
        result += line
except IOError:
    print("文件读取出错")
finally:
    print("关闭文件")
    f.close()
로그인 후 복사

설명: 위 프로그램은 파일을 읽기 위해 try-Exception을 사용합니다. 읽기 오류가 발생하면 예외 발생 여부에 관계없이 코드가 실행됩니다. finally 블록에서는 파일이 올바르게 닫혔는지 확인하기 위해 실행됩니다.

3.raise

raise 문은 예외를 수동으로 발생시키는 데 사용됩니다. 예:

x = 10
if x > 5:
    raise Exception('x不能大于5。x的值为:{}'.format(x))
로그인 후 복사

위 프로그램에서 x 값이 5보다 크면 프로그램은 예외 유형 예외를 수동으로 발생시킵니다. 예외를 발생시킨 후 프로그램은 예외 처리를 위해 제외 블록으로 점프합니다.

4.try-property-else

try-excess-else 문에 있는 else 블록의 코드는 try 블록에서 예외가 발생하지 않는 경우에만 실행됩니다. 예:

try:
    x = int(input("请输入一个整数:"))
except ValueError:
    print("无效的输入!")
else:
    print("输入的数字是:", x)
로그인 후 복사

위 프로그램에서 사용자 입력이 정수가 아닌 경우 ValueError 예외가 발생하고 프로그램은 제외 블록의 코드를 실행합니다. 입력이 정수인 경우 프로그램이 실행됩니다. else 블록의 코드는 사용자가 입력한 숫자를 출력합니다.

요약

예외 처리는 프로그래머에게 매우 중요합니다. 이를 통해 프로그램에서 오류를 찾고, 프로그램 충돌률을 줄이고, 프로그램의 안정성과 유지 관리성을 향상시킬 수 있습니다. Python에서 try-Exception 문은 예외를 포착하고 처리하는 데 도움이 될 수 있습니다. finally 블록은 finally 블록의 코드가 어떤 상황에서도 실행되도록 보장할 수 있습니다. raise 문은 예외를 수동으로 발생시킬 수 있습니다. 귀하의 프로그램이 보다 안정적이고 신뢰할 수 있도록 하려면 이러한 키워드를 합리적으로 사용하십시오.

위 내용은 Python에서 예외 처리란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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