큐범
Just do debug
큐범
전체 방문자
오늘
어제
  • 전체보기 (128)
    • 회고 (4)
    • JAVA (16)
      • JAVA 기초 (18)
      • JAVA Algorithm, Datastruct (13)
    • Spring (11)
    • Micro Service Architecture (3)
    • JPA (6)
    • gRPC (4)
    • Network (8)
    • Process (7)
    • Cloud (4)
    • Python (10)
    • Web(vue) (2)
    • UMC (1)
    • DB (9)
    • CS (1)
    • Clean Code (1)
    • TDD (9)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
큐범

Just do debug

Python

[python] 파이썬 예외처리 정리

2021. 7. 4. 17:37

Life is too short, You need python

Python 예외처리


프로그램을 만들다 보면 많은 오류를 직면하게 된다. 그럴 때마다 오류를 해결해나가야 하기 때문에 그 오류가 어디서 발생하고 어느 부분에서 발생하고 또한, 무시해야하는 경우가 생길 수도 있기 때문에 예외처리가 존재한다.

오늘은 예외처리에 대해서 포스팅을 해보겟다.

​

try, except문

try:

...

except[발생오류[as 오류 메시지 변수]]:

...

​

except[발생오류[as 오류 메시지 변수]] 에서 []의 기호는 생략이 가능하다는 표기법이다.

​

except에 대해서

1. try, except만 쓰는법

try:

...

except:

...

​

2.발생 오류만 포함한 except문

try:

...

except 발생오류:

...

​

3.발생오류와 오류 메시지 변수까지 포함한 except문

try:

...

except 발생오류 as 오류 메시지 변수:

...

​

try:

4/0

except ZeroDivisionError as e:

print(e)

>>> division by zero

​

try...else

try:

f=open('foo.txt','r')

except FileNotFoundError as e:

print(str(e))

else:

data=f.read()

f.close

>>> 만약 foo.txt라는 파일이 없다면 except가 실행이 되고 파일이 있다면 else절이 수행될 것이다.

​

try .. final

f=open('foo.txt','w')

try:

#무언가를 수행한다.

finally:

f.close()

>>> foo.txt 라는 파일이 쓰기모드로 열린 후 try문이 수행된 후 예외 발생 여부에 상관없이 finally절에서

f.close()로 열린 파일을 닫을 수 있다.

​

오류회피하기

특정오류를 그냥 통과시켜야 할 때가 있을 수 있다.

try:

f=open("없는파일",'r')

except FileNotFoundError:

pass

>>> 파일이 없더라도 오류를 발생시키지 않고 통과한다.

​

오류 일부러 발생시키기

class Bird:

def fly(self):

raise NotImplementedError

​

class Eagle(Bird):

pass

​

eagle=Eagle()

eagle.fly()

>>> Traceback (most recent call last):

File "...", line 36, in <module>

eagle.fly()

File "...", line 30, in fly

raise NotImplementedError

NotImplementedError

이러한 오류가 발생한다.

class Bird:

def fly(self):

print("very fast")

​

class Eagle(Bird):

pass

​

eagle=Eagle()

eagle.fly()

클래스를 이와 같이 함수를 구현하면 오류가 없이 very fast가 구현된다.

    'Python' 카테고리의 다른 글
    • [python] 파이썬 외장 함수 정리
    • [python] 파이썬 내장함수 정리
    • [python] 파이썬 클래스 정리
    • [python] 파이썬 함수 정리
    큐범
    큐범

    티스토리툴바