프로그래밍
파이썬 기초 강의 1-9: 예외 처리와 디버깅
코드금융
2025. 1. 17. 07:31
728x90
반응형
Python 기초 강의 1-9: 예외 처리와 디버깅
오류를 예방하고 디버깅하는 방법 배우기
1. 예외 처리란?
예외(Exception)는 프로그램 실행 중에 발생하는 오류입니다. 예외 처리를 통해 프로그램이 오류로 인해 강제로 종료되지 않도록 하고, 오류를 적절히 처리할 수 있습니다.
2. try-except 구조
try-except
구조를 사용하면 오류를 처리할 수 있습니다.
# 예외 처리 기본 구조
try:
num = int(input("숫자를 입력하세요: "))
print(f"입력한 숫자는 {num}입니다.")
except ValueError:
print("올바른 숫자를 입력해주세요.")
위 코드는 사용자가 숫자가 아닌 값을 입력했을 때, 프로그램이 종료되지 않고 오류 메시지를 출력합니다.
3. 여러 예외 처리
다양한 오류를 처리하기 위해 여러 except
블록을 사용할 수 있습니다.
# 여러 예외 처리
try:
x = int(input("첫 번째 숫자를 입력하세요: "))
y = int(input("두 번째 숫자를 입력하세요: "))
print(x / y)
except ValueError:
print("숫자를 입력해주세요.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
4. else와 finally
else
와 finally
를 사용해 예외 처리 흐름을 더 세부적으로 제어할 수 있습니다.
# else와 finally 사용
try:
file = open("example.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
else:
print("파일을 성공적으로 읽었습니다.")
finally:
file.close()
print("파일 작업이 종료되었습니다.")
5. 예외 직접 발생시키기
필요에 따라 raise
키워드를 사용해 예외를 직접 발생시킬 수 있습니다.
# 예외 직접 발생
def divide(x, y):
if y == 0:
raise ZeroDivisionError("0으로 나눌 수 없습니다.")
return x / y
try:
result = divide(10, 0)
print(result)
except ZeroDivisionError as e:
print(e)
6. 디버깅 방법
Python에서 디버깅을 효과적으로 수행하기 위한 몇 가지 팁을 소개합니다:
- print 디버깅: 코드 실행 흐름을 파악하기 위해 변수 값을 출력합니다.
- pdb 모듈: Python 내장 디버거로 실행 중 코드를 중단하고 상태를 점검합니다.
# pdb 모듈 사용 예제
import pdb
def calculate(a, b):
pdb.set_trace() # 디버깅 시작
return a + b
result = calculate(5, 10)
print(result)
7. 실습: 안전한 계산기
사용자가 입력한 값을 안전하게 계산하는 프로그램을 작성해 봅시다.
# 안전한 계산기
def safe_calculator():
try:
x = int(input("첫 번째 숫자를 입력하세요: "))
y = int(input("두 번째 숫자를 입력하세요: "))
operation = input("연산을 입력하세요 (+, -, *, /): ")
if operation == "+":
print(f"결과: {x + y}")
elif operation == "-":
print(f"결과: {x - y}")
elif operation == "*":
print(f"결과: {x * y}")
elif operation == "/":
print(f"결과: {x / y}")
else:
print("올바른 연산을 입력해주세요.")
except ValueError:
print("숫자를 입력해주세요.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
safe_calculator()
8. 요약
이번 강의에서는 Python 예외 처리의 기본 구조와 디버깅 방법을 배웠습니다. try-except
를 사용해 오류를 처리하고, pdb
모듈로 디버깅을 수행할 수 있습니다.
다음 강의 예고
1-10 강의: Python의 객체 지향 프로그래밍(OOP)을 학습합니다!
728x90
반응형