■ 예외처리
오류가 발생했을때 어떻게 할지 정하는 것
>>> try:
>>> #오류가 발생할 수 있는 구문
>>> except Exception as e:
>>> #오류 발생
>>> else:
>>> #오류 발생하지 않음
>>> finally:
>>> #무조건 마지막에 실행
■ try-except 문
>>> try:
4 / 0
>>> except ZeroDivisionError as e:
>>> print(e)
division by zero
■ try-else 문
>>> try:
f = open('none', 'r')
>>> except FileNotFoundError as e:
print(str(e))
>>> else:
data = f.read()
print(data)
f.close()
■ try-finally 문
>>> f = open('foo.txt', 'w')
>>> try:
data = f.read()
print(data)
>>> except Exception as e:
print(e)
>>> finally:
f.close()
Exception은 모든 오류들의 부모다. 그래서 무슨 오류인지 정확히 모른다면 Exception을 사용한다.
■ 여러 개 오류 처리하기
>>> try:
a = [1,2]
print(a[3])
4/0
>>> except ZeroDivisionError:
print("0으로 나눌 수 없다.")
>>> except IndexError:
print("인덱싱할 수 없다")
■ 오류 회피하기
>>> try:
f = open("nofile", 'r')
>>> except FileNotFoundError:
pass
■ 오류 일부러 발생시키기
>>> class Bird:
def fly(self):
raise NotImplementedError #raise 뒤에 오류를 입력하면 오류가 실행된다.
>>> class Eagle(Bird):
def fly(self):
print("very fast")
>>> eagle = Eagle()
>>> eagle.fly()
very fast
'Python > 파이썬 기초' 카테고리의 다른 글
[5-6] 외장함수 (0) | 2024.12.22 |
---|---|
[5-5] 내장함수 (0) | 2024.12.21 |
[5-3] 패키지 (0) | 2024.06.30 |
[5-2] 모듈 (0) | 2024.06.30 |
[5-1] 클래스 (0) | 2024.06.30 |