오류 종류에 상관없이 오류 발생 시 except 블록 수행
try:
...
except:
...
해당 오류가 발생했을 때 (미리 정해놓은 오류 이름과 일치할 때만) except 블록 수행
try:
...
except 발생오류1:
...
except 발생오류2:
...
오류 메시지의 내용까지 알고 싶을 때
try:
...
except 발생오류 as 오류 메시지 변수:
...
예시)
try:
4 / 0
except ZeroDivisionError as e:
print(e) # division by zero
오류 넘어가기
try:
...
except:
pass
try문에 else절 활용
try:
...
except [발생 오류[as 오류 메시지 변수]]:
# 오류 발생 시 수행
...
else:
# 오류가 없을 경우 수행
...
try 수행 도중 예외 발생 여부에 상관없이 항상 finally 블록 수행
try:
...
finally:
...
예시) 주로 리소스를 close해야할 때 사용
f = open('data.txt', 'w')
try:
...
finally:
f.close()
raise 오류
class Bird:
def fly(self):
raise NotImplementedError
NotImplementedError
파이썬 내장 오류로 꼭 작성해야 하는 부분이 구현되지 않았을 경우 일부러 오류를 일으키기 위해 사용
Bird클래스를 상속받는 자식 클래스는 fly라는 메서드를 구현해야 하도록 함
class Eagle(Bird):
pass
eagle = Eagle()
eagle.fly()
Eagle클래스는 Bird클래스를 상속받지만 fly 메서드를 구현하지 않았기 때문에 Bird 클래스의 fly 메서드가 호출됨
>> NotImplemented Error 발생
해당 오류가 발생하지 않게 하려면 Eagle클래스에서 fly메서드 반드시 구현해야함
class Eagle(Bird):
def fly(self):
print("very fast")
eagle = Eagle()
eagle.fly() # very fast
파이썬 내장 클래스인 Exception 클래스 상속
class MyError(Exception):
...
def __str__(self):
# 에러 메시지
return "{error message}"
# 에러 호출
raise MyError()
[PYTHON] requests 모듈 이용한 HTTP GET/POST 요청 (0) | 2021.06.28 |
---|---|
[PYTHON] 파이썬 PANDAS 라이브러리 메서드 (0) | 2021.06.19 |
[PYTHON] 파이썬 자료형(4) 집합(Set) (0) | 2021.06.07 |
[PYTHON] 파이썬 자료형(3) 문자열(String) (0) | 2021.06.07 |
[PYTHON] 탐색 알고리즘(선형탐색, 이진탐색) (0) | 2021.05.17 |
댓글 영역