| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 |
Tags
- CPP
- computer vision
- file system
- Robocup@Home 2026
- Baekjoon
- ROS2
- CNN
- Operating System
- do it! 알고리즘 코딩테스트: c++편
- Seoul National University
- Humble
- cs231n
- System Call
- 밑바닥부터 시작하는 딥러닝2
- Linux
- Optimization
- DFS
- SQLD
- Gentoo2
- Python
- BFS
- C++
- Process
- RNN
- Data Science
- deep learning
- Multimedia
- Machine Learning
- On-memory file system
- paper review
Archives
- Today
- Total
newhaneul
[Advanced Python Programming] Lecture 10. Exception Handling 본문
4. University Study/Advanced Python Programming
[Advanced Python Programming] Lecture 10. Exception Handling
뉴하늘 2026. 4. 17. 14:04728x90
포스팅은 인하대학교 허혜선 교수님의 [202601-EEC3408-001] 고급파이썬프로그래밍을 수강하고 공부한 내용을 정리하기 위한 포스팅입니다.
- Error
- 구문 오류(Syntax Error)
- 런타임 오류(Runtime Error) / 예외(Exception)
1. 조건문으로 예외 처리하기
- .isdigit(): 숫자로만 구성된 글자인 경우 True 반환하는 함수
x = input("정수 입력: ")
if x.isdigit():
x = int(x)
print(x * 2)
else:
print("정수가 아닌 경우")
정수 입력: 3
6
정수 입력: a
정수가 아닌 경우
2. try except 구문
try:
pass
# 예외 발생 가능 코드
except:
pass
# 대처 코드
3. try except else 구문
try:
pass
# 예외 발생 가능 코드
except:
pass
# 대처 코드
else:
pass
# 예외가 발생하지 않았을 때 실행할 코드
4. try except else finally 구문
try:
pass
# 예외 발생 가능 코드
except:
pass
# 대처 코드
else:
pass
# 예외가 발생하지 않았을 때 실행할 코드
finally:
pass
# 무조건 실행할 코드
- try, except finally 구문의 조합
- try 구문은 단독으로 사용할 수 없으며, 반드시 except 구문 또는 finally 구문과 함께 사용해야 한다.
- else 구문은 반드시 except 구문 뒤에 사용되어야한다.
- 1. try + except
- 2. try + except + else
- 3. try + except + finally
- 4. try + except + else + finally
- 5. try + finally
예제:
def test():
print("test() 함수의 첫 줄입니다.")
try:
print("try 구문이 실행되었습니다.")
return
print("try 구문의 return 키워드 뒤입니다.")
except:
print("except 구문이 실행되었습니다.")
else:
print("else 구문이 실행되었습니다.")
finally:
print("finally 구문이 실행되었습니다.")
print("test() 함수의 마지막 줄입니다.")
test()
test() 함수의 첫 줄입니다.
try 구문이 실행되었습니다.
finally 구문이 실행되었습니다.
print("프로그램이 시작되었습니다.")
while True:
try:
print("try 구문이 실행되었습니다.")
break
print("try 구문의 break 키워드 뒤입니다.")
except:
print("except 구문이 실행되었습니다.")
finally:
print("finally 구문이 실행되었습니다.")
print("while 반복문의 마지막 줄입니다.")
print("프로그램이 종료되었습니다.")
프로그램이 시작되었습니다.
try 구문이 실행되었습니다.
finally 구문이 실행되었습니다.
프로그램이 종료되었습니다.
추가:
def tricky_test():
print("1. 함수 시작")
try:
print("2. try 블록 실행")
raise ValueError("에러 발생!")
print("3. 에러 발생 이후")
except ValueError:
print("4. except 블록 실행")
return "except에서 반환"
else:
print("5. else 블록 실행")
return "else에서 반환"
finally:
print("6. finally 블록 실행")
return "finally에서 반환"
result = tricky_test()
print(f"7. 최종 결과: {result}")
1. 함수 시작
2. try 블록 실행
4. except 블록 실행
6. finally 블록 실행
7. 최종 결과: finally에서 반환
def loop_test():
print("반복문 시작")
for i in range(3):
try:
print(f"try: {i}")
if i == 1:
continue
if i == 2:
break
finally:
print(f"finally: {i}")
print("반복문 종료")
loop_test()
반복문 시작
try: 0
finally: 0
try: 1
finally: 1
try: 2
finally: 2
반복문 종료
def nested_try_test():
print("1. 외부 try 시작")
try:
print("2. 내부 try 시작")
try:
print("3. 계산 시도")
10 / 0
print("4. 계산 완료")
except TypeError:
print("5. 내부 except (TypeError)")
finally:
print("6. 내부 finally")
except ZeroDivisionError:
print("7. 외부 except (ZeroDivisionError)")
finally:
print("8. 외부 finally")
nested_try_test()
1. 외부 try 시작
2. 내부 try 시작
3. 계산 시도
6. 내부 finally
7. 외부 except (ZeroDivisionError)
8. 외부 finally
5. 예외 구분하기
- ValueError: 정수 아닌 값 입력하는 경우
- IndexError: 리스트의 인덱스를 넘는 숫자를 입력하는 경우
- raise 키워드: 예외를 강제로 발생시킴
728x90
'4. University Study > Advanced Python Programming' 카테고리의 다른 글
| [Advanced Python Programming] 중간고사 암기 (0) | 2026.04.17 |
|---|---|
| [Advanced Python Programming] Lecture 11. Numpy (0) | 2026.04.17 |
| [Advanced Python Programming] Lecture 9. File Input/Output (0) | 2026.04.17 |
| [Advanced Python Programming] Lecture 8. Module and Package (0) | 2026.04.16 |
| [Advanced Python Programming] Lecture 7. Special Methods (1) | 2026.04.12 |