Python 프로그래밍에서 예외 처리는 프로그램의 안정성과 오류 관리를 개선하는 중요한 기법입니다. try와 except 블록을 사용하여 예외를 처리하면, 예상치 못한 오류가 발생했을 때 프로그램이 갑자기 중단되는 것을 방지하고, 적절한 대응을 할 수 있습니다. 이 글에서는 Python의 예외 처리 방법을 자세히 알아보겠습니다.
예외 처리의 기본 구조
Python에서 예외 처리를 구현하는 기본 구조는 try 블록과 하나 이상의 except 블록으로 구성됩니다. try 블록은 예외가 발생할 가능성이 있는 코드를 포함하며, except 블록은 특정 예외가 발생했을 때 실행할 코드를 정의합니다.
try:
# 예외가 발생할 수 있는 코드
result = 10 / 0
except ZeroDivisionError:
# ZeroDivisionError가 발생했을 때 처리할 코드
print("Cannot divide by zero!")
다중 예외 처리
하나의 try 블록에서 여러 유형의 예외를 처리하려면 여러 except 블록을 사용할 수 있습니다. 각 except 블록은 처리할 예외 유형을 명시적으로 지정합니다.
try:
value = int(input("Enter a number: "))
result = 10 / value
except ValueError:
print("Please enter a valid number.")
except ZeroDivisionError:
print("Cannot divide by zero!")
일반 예외 처리
모든 유형의 예외를 처리하려면 예외 클래스를 지정하지 않고 except 블록을 사용할 수 있습니다. 이 방법은 특정하지 않은 모든 예외를 잡아냅니다.
try:
# 예외가 발생할 수 있는 코드
undefined_function()
except:
print("An error occurred.")
예외 객체 사용
except 블록에서 예외 객체를 사용하면 예외에 대한 추가 정보를 얻을 수 있습니다. 예외 객체는 as 키워드를 사용하여 접근할 수 있습니다.
try:
# 예외가 발생할 수 있는 코드
result = 10 / 0
except ZeroDivisionError as e:
print(f"Error: {e}")
finally 블록
finally 블록은 예외 발생 여부와 상관없이 항상 실행되는 코드를 포함합니다. 이는 파일을 닫거나 리소스를 정리하는 작업에 유용합니다.
try:
file = open("example.txt", "r")
data = file.read()
except IOError:
print("An error occurred reading the file.")
finally:
file.close()
print("File has been closed.")
Python의 예외 처리 기법을 이해하고 사용하면, 예상치 못한 오류를 효과적으로 처리하고 프로그램의 안정성을 크게 향상시킬 수 있습니다. 이러한 기법은 특히 사용자 입력이나 파일 입출력, 네트워크 통신과 같은 외부와의 상호 작용이 포함된 프로그램에서 중요합니다.
'Python' 카테고리의 다른 글
Python에서 상속과 다형성 이해하기 (33) | 2024.05.11 |
---|---|
Python에서 클래스와 객체 지향 프로그래밍 이해하기 (33) | 2024.05.10 |
Python 파일 입출력 기초: 파일 다루기의 기본 (30) | 2024.05.09 |
Python에서 집합(Set) 다루기: 특징과 활용법 (33) | 2024.05.09 |
Python에서 딕셔너리(Dictionary) 활용하기: 기본부터 실용적인 팁까지 (32) | 2024.05.08 |