코드를 작성하다가 오류가 출력되었을 때
이러한 오류 관리를 보다 쉽게 할 수는 없을까?
오류 관리에 대한 문제를 해결해보고자
파이썬 예외 처리 try-except-finally를 이해해보자.
단계 1) : 오류가 발생한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
nums = [1,2,3,4,5]
print(nums[0])
# 1 정상 출력
print(nums[5])
# 오류 발생
# ---------------------------------------------------------------------------
# IndexError Traceback (most recent call last)
# <ipython-input-8-d8fadb7f3df1> in <module>
# 2
# 3 print(nums[0])
# ----> 4 print(nums[5])
# 5
# 6
# IndexError: list index out of range
|
cs |
단계2) 단계1 에서 나온걸 보기 편하게 만들자.
: 위에서 발생한 코드들을 일단 try: 안에 넣자.
그리고 try 안에서 발생한 코드 들중 오류가 발생하게 된다면
"오류 입니다." 라는 문구를 출력하게 하자.
1
2
3
4
5
6
7
8
9
10
11
|
nums = [1,2,3,4,5]
try:
print(nums[0])
print(nums[5])
except:
print("오류 입니다.")
# 1
# 오류 입니다.
|
cs |
또는 단계1에서 오류 메시지가 나온 IndexError를 가져와서
해당 IndexError가 발생하면 다음과 같은 문구를 출력하겠다.
1
2
3
4
5
6
7
8
9
10
11
|
nums = [1,2,3,4,5]
try:
print(nums[0])
print(nums[5])
except IndexError:
print("인덱스 오류 발생")
# 1
# 인덱스 오류 발생
|
cs |
단계3) 난 예외 발생 여부와 상관없이 무조건 실행할거다.(finally)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
nums = [1,2,3,4,5]
try:
print(nums[0])
print(nums[5])
except IndexError:
print("인덱스 오류 발생")
finally:
print("종료 합니다.")
# 1
# 인덱스 오류 발생
# 종료 합니다.
|
cs |
'* Language > Python' 카테고리의 다른 글
[Python] 파이썬 반복문(for문)을 이해하기 전... (0) | 2021.02.15 |
---|---|
[Python] 파이썬 : 객체지향 프로그래밍(OOP)란? (0) | 2020.12.31 |
[Python] 파이썬 : sort()와 sorted() 차이 (1) | 2020.12.20 |
[Python] 파이썬 : map()함수 왜 쓰는지와 사용법 단계별로 이해하기 (0) | 2020.11.30 |
[Python] 파이썬 : 문자열 (공백)나누기(split())와 결합(join()) (0) | 2020.11.02 |
댓글