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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| ## 예제 1
## error 발생하지 않는 코드
> name = ['Kim', 'Lee', 'Park']
> print(name.index('Kim'))
> try :
> z = 'Kim'
> x = name.index(z)
> print('{} Found it! {} in name'.format(z, x + 1))
# error 중 ValueError 만 잡는다.
# error 처리 시, 이렇게 error의 정확한 유형대로 잡아내느 것이 제일 좋은 case다.
> except ValueError:
> print('Not found it! - Occurred ValueError!')
# error가 발생되지 않았으므로 else 구문이 작동된다.
> else:
> print('Ok! else.')
> print(' ' )
0
Kim Found it! 1 in name
Ok! else.
## 예제 2
# error 발생 코드
# error가 발생했어도 except로 잡아냈기 때문에 else 구문을 출력된다.
# 그리고, 그 다음 코드를 계속해서 실행한다. print('pass')가 출력된 걸 확인할 수 있다.
# 또한, 예제 1에서의 ValueError를 지웠기 때문에 모든 Error를 잡아낸다.
# 하지만, 그래서 어떤 Error를 잡았는지 정확히 알 수 없다.
> name = ['Kim', 'Lee', 'Park']
> try:
> z = 'Cho'
> x = name.index(z)
> print('{} Found it! {} in name'.format(z, x + 1))
# except Exception:
> except:
> print('Not found it! - Occurred Error!')
> else:
> print('Ok! else.')
>
> print('pass')
Not found it! - Occurred Error!
pass
## 예제 3
# 예제 2를 보완한 코드
> name = ['Kim', 'Lee', 'Park']
> try:
> z = 'Cho'
> x = name.index(z)
> print('{} Found it! {} in name'.format(z, x + 1))
# 예제 2와 달리 추가된 부분
> except Exception as e:
> print(e)
#
> print('Not found it! - Occurred Error!')
> else:
> print('Ok! else.')
# 예외 유무에 상관없이 finally는 실행된다.
> finally:
> print('Ok! finally')
'Cho' is not in list
Not found it! - Occurred Error!
Ok! finally
|