HOWTO · Python

Python에서 예외 발생

이 자습서는 Python에서 예외를 발생시키는 방법을 보여줍니다.

이 페이지의 내용

Python에서 예외를 발생시키는 다양한 방법을 소개합니다.

Python에서 예외 발생

Python 프로그램을 작성하고 실행할 때 프로그램에 무언가가 누락되었거나 코드에 잘못된 것이 있으면 출력이나 오류가 발생합니다. 예외는 Python 프로그래밍 언어와 비슷합니다.

파이썬에는 우리 프로그램이 뭔가 잘못하고 있을 때 발생하는 많은 내장 예외가 있습니다. 프로그램을 실행하려고 할 때 예외가 발생하면 프로그램을 중지하고 프로그램이 코드를 실행하려고 할 때 발생한 예외를 표시합니다.

이 기사는 몇 가지 간단한 프로그램을 수행하여 try, exceptfinally 문을 사용하여 Python 프로그램에서 예외를 처리하는 방법을 보여줍니다.

Python의 try

Python에서는 예외 가능성을 최소화하기 위해 코드 내 try 문을 사용하여 예외를 처리할 수 있습니다. try 절에는 예외를 생성할 수 있는 중요한 작업이 포함되어 있습니다.

except 절에는 예외를 해결하는 코드가 포함되어 있습니다.

이제 예제를 살펴보고 사용자가 잘못된 값을 입력한 경우 예외를 발생시키기 위해 try 문을 사용하겠습니다.

# python
Any_List = [2, "Husnain", 4, 6, 8]

for value in Any_List:
    try:
        print("The value is", value)
        raci = 1 / int(value)
        print("The reciprocal of", value, "is", raci)
        print("")
    except:
        print("Oops! There is a string in this list.")
        print("The reciprocal of", value, "cannot be done!")
        print("")

출력:

try 문을 사용하여 파이썬에서 예외 발생

위의 예는 이 프로그램이 Any_List의 항목을 살펴보고 예외가 없으면 except 블록을 건너뛰고 Any_List의 마지막 요소에 도달할 때까지 코드가 원활하게 실행됨을 보여줍니다. .

그러나 Any_List의 모든 요소를 ​​살펴보는 동안 예외가 발생하면 except 블록이 실행되어 위의 결과와 같이 값이 출력됩니다.

이제 세 가지 다른 예외 사례를 만드는 예를 살펴보겠습니다. 위 프로그램에서 except 블록이 하나만 있는 try 문을 언급합니다.

그러나 이 프로그램에서는 절을 선택할 수 있는 더 많은 옵션을 제공하는 세 개의 except 블록을 사용합니다.

# python
VAR0 = 10
try:
    VAR1 = int("Husnain")
    VAR2 = int(56)

    result = (int(VAR1) * int(VAR2)) / (VAR0 * int(VAR2))

except ValueError as ve:
    print(ve)
    exit()

except TypeError as te:
    print(te)
    exit()

except:
    print("Unexpected Error!")
    exit()
print(result)

출력:

여러 개의 예외 문을 사용하여 파이썬에서 예외 발생

이것은 세 개의 예외 블록을 포함하는 프로그램입니다. 이제 Python에서 예외를 발생시키는 데 사용할 수 있는 다른 방법인 raise를 살펴보겠습니다.

Python의 raise 키워드

Python 프로그래밍에서 런타임 동안 코드에 일부 오류가 있으면 예외가 발생합니다. raise 키워드를 사용하여 수동으로 예외를 발생시킬 수 있습니다.

또한 예외에 대한 추가 정보와 프로그램이 이를 발생시킨 이유를 제공하기 위해 예외에 값을 전달할 수도 있습니다.

raise 키워드를 사용하여 수동으로 오류를 발생시키는 예를 들어보겠습니다.

# python
try:
    num = int(-23)
    if num <= 0:
        raise ValueError("entred number is not positive")
except ValueError as ve:
    print(ve)

출력:

raise 키워드를 사용하여 파이썬에서 예외 발생

위의 예는 음수를 입력하면 raise 키워드를 통해 설정한 예외가 발생함을 보여줍니다.

이제 else 절을 사용하여 수동으로 예외를 발생시키는 또 다른 예를 살펴보겠습니다.

Python의 else

어떤 상황에서는 try 문에서 오류 없이 프로그램을 실행하려는 경우 else 문을 사용하여 프로그램 처리를 완료합니다.

# python
try:
    number = int(21)
    assert number % 2 == 0

except:
    print("It is not a even number!")
else:
    reciprocal = 1 / number
    print(reciprocal)

출력:

else 문을 사용하여 파이썬에서 예외 발생

위의 예에서 알 수 있듯이 입력한 숫자가 짝수이면 그 숫자의 역수를 출력하고, 짝수가 아니면 위의 결과와 같이 예외를 발생시킨다.