TRY, EXCEPT
에러가 발생해도 코드의 실행을 계속 하고 싶을 때 사용합니다.
1 | ls = [1,2,3] |
FINALLY
try, except 구문 실행된후 finally 구문이 실행됩니다.
1 | try: |
코딩 실행 중간에 에러가 발생하면 변수안에 계속 데이터를 가지고 있고, 이는 낭비입니다.
때문에 try던 except건 간에 어쨋든 "실행 되면 finally 변수안에 데이터 지워줘" 라고 할때 사용합니다.
RAISE
강제로 에러를 발생시키는 명령입니다. 1
2
3
4
5
6
7
8
try:
1/0
except Exception as e:
print("error")
raise(e)
print("Done!")
except때문에 코드 실행이 완료 되어야 하지만 raise()떄문에 강제로 에러가 발생됩니다.
에러 메세지 생성
"Number grater than 10"
10이상의 숫자가 입력되어야 한다는 에러 메세지를 만들어보면, 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#Exception 이라는 클래스를 상속
class Lownumber(Exception):
def __str__(self): #에러 메세지 오버라이팅
return "Number grater than 10"
def input_number(num):
if num <= 10:
raise Lownumber() #Lownumber 클래스를 사용
print(num)
input_number(12)
# 12
input_number(8)
# 에러메세지 출력
# ---------------------------------------------------------------------------
#Lownumber Traceback (most recent call last)
#<ipython-input-19-8684a0e33c0b> in <module>
#----> 1 input_number(8)
#<ipython-input-17-bf4895dc7d57> in input_number(num)
# 1 def input_number(num):
# 2 if num <= 10:
#----> 3 raise Lownumber() #Lownumber 클래스를 사용
# 4 print("10")
#Lownumber: Number grater than 10