2020. 3. 16. 11:48

 

오류 발생하는 경우

  • 디렉터리 안에 없는 파일을 열려고 시도했을 때 발생
  • 0으로 다른 숫자를 나누는 경우
  • 선형자료형의 범위 밖을 참조하는 경우

 

예외처리기법

1. try, except문

  • try 블록 수행 중 오류가 발생하면 except 블록이 수행된다. 하지만 try 블록에서 오류가 발생하지 않는다면 except 블록은 수행되지 않는다.
try:
    ...
except [발생 오류[as 오류 메시지 변수]]:
    ...

 

2. try, finally 문

  • try문에는 finally절을 사용할 수 있다. finally절은 try문 수행 도중 예외 발생 여부에 상관없이 항상 수행된다. 보통 finally절은 사용한 리소스를 close해야 할 때에 많이 사용한다.
f = open('foo.txt', 'w')
try:
    # 무언가를 수행한다.
finally:
    f.close()

 

3. 여러개의 예외 처리

  • try문에서 여러 개 except문을 작성하여 여러개의 오류 처리 가능
try:
    ...
except 발생 오류1:
   ... 
except 발생 오류2:
   ...
finally : 
   실행문장

 

오류 회피

  • 프로그래밍을 하다 보면 특정 오류가 발생할 경우 그냥 통과시켜야 할 경우,  pass를 사용하여 오류를 그냥 회피하도록 작성
try:
    f = open("나없는파일", 'r')
except FileNotFoundError:
    pass

 

예외만들기

  • 프로그램 수행 도중 특수한 경우에만 예외 처리를 하기 위해서 종종 예외를 만들어서 사용
  • 예외는 파이썬 내장 클래스인 Exception 클래스를 상속하여 만든다
class MyError(Exception):
    pass

 

 

출처 : https://wikidocs.net/30

Posted by yongminLEE