예외 처리는 프로그램이 실행 중에 발생할 수 있는 오류를 처리하는 메커니즘입니다. 파이썬은 강력한 예외 처리 기능을 제공하여 프로그래머가 예외 상황을 처리하고 오류에 대처할 수 있도록 도와줍니다. 이번 강좌에서는 파이썬에서 예외 처리를 다루는 방법에 대해 알아보고, 예제를 통해 실습해 보겠습니다.
- try-except 문 예외 처리는
try-except
문을 사용하여 수행됩니다.try
블록에는 예외가 발생할 가능성이 있는 코드를 작성하고,except
블록에는 예외가 발생했을 때 처리할 코드를 작성합니다. 예외가 발생하면 프로그램의 실행 흐름은try
블록에서except
블록으로 이동합니다.
예를 들어, 숫자를 입력받아 제곱을 계산하는 프로그램에서 0으로 나누기 예외를 처리해보겠습니다.
try:
num = int(input("숫자를 입력하세요: "))
result = 10 / num
print("결과:", result)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
위 예제에서 try
블록에서 input()
함수를 사용하여 숫자를 입력받고, 입력된 숫자로 10을 나누어 결과를 계산합니다. 만약 입력한 숫자가 0이라면 ZeroDivisionError
예외가 발생하고, except
블록이 실행됩니다.
- 다중 예외 처리 여러 종류의 예외를 처리해야 할 때는 다중
except
문을 사용할 수 있습니다. 각except
블록은 처리할 예외의 종류를 지정하고, 해당 예외가 발생했을 때 실행됩니다.
예를 들어, 파일을 열고 읽는 프로그램에서 파일이 존재하지 않는 경우와 파일을 읽을 수 없는 경우에 대한 예외 처리를 추가해보겠습니다.
try:
file = open("data.txt", "r")
content = file.read()
print(content)
file.close()
except FileNotFoundError:
print("파일이 존재하지 않습니다.")
except PermissionError:
print("파일을 읽을 수 없습니다.")
위 예제에서 try
블록에서 open()
함수를 사용하여 파일을 열고, read()
메서드를 사용하여 파일 내용을 읽습니다. 만약 파일이 존재하지 않으면 FileNotFoundError
예외가 발생하고, 파일을 읽을 수 없으면 PermissionError
예외가 발생합니다. 각각의 예외에 대해 해당하는 except
블록이 실행됩니다.
- finally 절
finally
절은try-except
문의 마지막에 사용될 수 있습니다.finally
절은 예외 발생 여부와 관계없이 항상 실행되는 코드를 작성할 때 사용됩니다. 주로 파일이나 네트워크 연결과 같은 리소스를 정리하는 용도로 사용됩니다.
예를 들어, 파일을 열고 처리한 후에 항상 파일을 닫도록 finally
절을 사용해보겠습니다.
file = None
try:
file = open("data.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("파일이 존재하지 않습니다.")
except PermissionError:
print("파일을 읽을 수 없습니다.")
finally:
if file:
file.close()
위 예제에서 finally
절은 파일을 닫는 역할을 합니다. 예외가 발생하더라도 finally
절은 항상 실행되므로, 파일을 안전하게 닫을 수 있습니다.
예외 처리는 프로그램의 안정성과 신뢰성을 높이는 데 중요한 역할을 합니다. 파이썬의 예외 처리 기능을 잘 활용하여 프로그램의 예외 상황을 처리하고 오류를 처리할 수 있도록 해보세요. 예제 코드를 통해 실습해 보면서 예외 처리에 대한 이해도를 높여보세요.