본문 바로가기
파이썬

파이썬 기초 - 예외처리 (try except)

by python pro 2023. 1. 23.
반응형

"파이썬 예외처리"는 프로그램 실행 중에 발생할 수 있는 에러를 처리하는 방법입니다. 이를 위해 파이썬에서는 try-except 구문을 사용합니다. try 구문에는 에러가 발생할 수 있는 코드를, except 구문에는 에러가 발생했을 때 처리할 코드를 작성합니다.

 

올바른 예시 코드

try:
    num1 = 5
    num2 = 0
    print(num1/num2)
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

잘못된 예시 코드

try:
    num1 = 5
    num2 = 0
    print(num1/num2)
except:
    print("에러가 발생했습니다.")

위와 같은 코드는 except 구문에 어떤 에러가 발생했는지를 정확히 알 수 없기 때문에 적절하지 않습니다.

try-except 구문을 사용하는 것만으로도 예외처리를 할 수 있지만, 파이썬에서는 try, except, else, finally 라는 4가지 키워드를 사용해서 예외처리를 합니다.

 

예외 처리란 프로그램 실행 중 발생할 수 있는 예기치 않은 상황, 예를 들면 파일을 찾을 수 없는 경우, 네트워크 연결이 끊긴 경우 등을 처리하는 것을 말합니다.

 

try:
  예외가 발생할 수 있는 코드
except 예외종류:
  예외가 발생했을 때 실행할 코드
else:
  예외가 발생하지 않았을 때 실행할 코드
finally:
  예외 발생 여부에 상관없이 항상 실행할 코드

 

아래는 여러 가지 예시입니다.

 

try:
    # some code that could raise an exception
    variable = some_function()
except SomeException:
    # code to handle the exception
    variable = None
try:
    # some code that could raise an exception
    x = 1/0
except ZeroDivisionError:
    print("division by zero!")
try:
    f = open("test.txt")
    s = f.readline()
    i = int(s.strip())
except OSError as err:
    print("OS error: {0}".format(err))
except ValueError:
    print("Could not convert data to an integer.")
except:
    print("Unexpected error:", sys.exc_info()[0])
    raise

위와 같이 try/except 블록을 사용하여 예외를 처리할 수 있습니다. 위 예제에서는 try 블록에서 예외가 발생하면 except 블록에서 예외를 처리합니다.

 

반응형

댓글