티스토리 뷰
프로그래밍을 하다 보면 예기치 않은 오류가 발생하는 경우가 많습니다. 이러한 오류를 적절히 처리하지 않으면 프로그램이 중단되거나 잘못된 결과를 초래할 수 있습니다. 파이썬에서는 예외 처리(Exception Handling)를 통해 이러한 오류를 효과적으로 관리할 수 있습니다. 이번 글에서는 예외 처리의 기본 개념과 사용법, 그리고 다양한 예제를 통해 초보자도 쉽게 이해할 수 있도록 설명하겠습니다.
1. 예외란?
예외는 프로그램 실행 중에 발생하는 오류를 의미합니다. 예외가 발생하면 파이썬 인터프리터는 프로그램의 실행을 중단하고, 오류 메시지를 출력합니다. 예외를 적절히 처리하면 프로그램이 중단되지 않고, 사용자에게 이해할 수 있는 메시지를 제공할 수 있습니다.
2. 예외 처리의 기본 구조
파이썬에서 예외 처리는 try, except 블록을 사용하여 수행합니다. 기본적인 구조는 다음과 같습니다:
python
try:
# 오류가 발생할 가능성이 있는 코드
except 예외타입:
# 예외가 발생했을 때 실행할 코드
2.1 예외 처리 예제
아래는 사용자가 입력한 숫자를 10으로 나누는 간단한 예제입니다. 사용자가 잘못된 입력을 했을 때 발생하는 예외를 처리합니다.
python
try:
user_input = int(input("숫자를 입력하세요: "))
result = 10 / user_input
except ValueError:
print("유효한 숫자를 입력하세요.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
else:
print("결과:", result)
결과 예시 (사용자가 'a' 입력 시):
유효한 숫자를 입력하세요.
결과 예시 (사용자가 0 입력 시):
0으로 나눌 수 없습니다.
결과 예시 (사용자가 5 입력 시):
결과: 2.0
3. 여러 개의 예외 처리
하나의 try 블록에서 여러 개의 예외를 처리할 수 있습니다. 아래 예제에서는 ValueError와 ZeroDivisionError를 동시에 처리합니다.
python
try:
user_input = int(input("숫자를 입력하세요: "))
result = 10 / user_input
except (ValueError, ZeroDivisionError) as e:
print("오류 발생:", e)
else:
print("결과:", result)
결과 예시 (사용자가 'a' 입력 시):
오류 발생: invalid literal for int() with base 10: 'a'
결과 예시 (사용자가 0 입력 시):
오류 발생: division by zero
4. finally 블록
finally 블록은 예외 발생 여부와 관계없이 항상 실행되는 코드 블록입니다. 주로 자원 정리 작업에 사용됩니다.
python
try:
file = open("test.txt", "r")
# 파일 읽기 작업
except FileNotFoundError:
print("파일이 존재하지 않습니다.")
finally:
print("파일 처리 완료.")
결과 예시 (파일이 존재하지 않을 때):
파일이 존재하지 않습니다.
파일 처리 완료.
5. 사용자 정의 예외
특정 상황에서 발생하는 오류를 사용자 정의 예외로 처리할 수 있습니다. 아래 예제에서는 입력값이 음수일 때 예외를 발생시킵니다.
python
try:
user_input = int(input("0 이상의 숫자를 입력하세요: "))
if user_input < 0:
raise ValueError("음수는 허용되지 않습니다.")
result = 10 / user_input
except ValueError as e:
print("오류 발생:", e)
else:
print("결과:", result)
결과 예시 (사용자가 -1 입력 시):
오류 발생: 음수는 허용되지 않습니다.
결과 예시 (사용자가 5 입력 시):
결과: 2.0
결론
예외 처리는 프로그램의 안정성을 높이는 중요한 요소입니다. 이번 글에서 소개한 try, except, else, finally 블록과 사용자 정의 예외를 활용하여 오류를 효과적으로 관리할 수 있습니다. 예외 처리 기법을 잘 활용하면 보다 견고하고 신뢰할 수 있는 프로그램을 만들 수 있습니다. 파이썬의 매력을 느끼며 코딩 실력을 키워 나가세요!
'Python' 카테고리의 다른 글
| [기초강의] 파이썬의 import와 from 구문: 라이브러리 확장 관점에서 (0) | 2024.08.13 |
|---|---|
| [기초강의] Python 출력결과 왼쪽, 오른쪽, 가운데 정렬하기 (3) | 2024.08.13 |
| [기초강의] 파이썬 람다 함수 (0) | 2024.08.13 |
| [기초강의] 파이썬 함수의 정의와 사용법 (2) | 2024.08.13 |
| [기초강의] 파이썬 파일 입출력 기본 (2) | 2024.08.13 |
- Total
- Today
- Yesterday
- 기술적분석
- 재테크
- 골든크로스
- 티스토리챌린지
- chat gpt 모델 별 가격
- 1165회 로또
- 주식공부
- 로또 1164회 당첨
- 인공지능 로또 예측
- 케라스
- 클래스형 뷰
- 퀀트투자
- Numpy
- 주식투자
- 차트분석
- chat gpt 모델 api 가격 예측
- 장고 orm sql문 비교
- 토치비전
- 자동매매
- 오블완
- Python
- chat gpt 4o 예산
- chat gpt 모델별 예산
- chat gpt 한국어 가격
- 주린이탈출
- chat gpt api 비용 계산
- 로또 ai
- 1164회 로또
- chat gpt 가격 예상
- 자동매매로직
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |