Thursday, September 11, 2014

Python 예외 처리하기

다음은 파일을 삭제할때 os에서 파일 삭제권한을 안주는 경우의 예외인 OSError를 잡는 경우이다.
pass는 C에서 아무것도 없는 {}과 같이 블럭에서 아무것도 안할 경우 써주는 문장이다.(함수에서 그냥 return과 유사)
import os
try:
  os.remove(filename)
except OSError:
  pass
print 'finished'

다음과 같이 없는 파일을 open하려고 하면 IOError가 발생한다.
else는 마지막인 final이라는 것과 같다.
try:
  fo = open('Makefile.trs', 'r')
except IOError:
  print '### IOError name: ' + name
  os.chdir(cwd)
  continue
else:
...

그리고 C#, Java와 같이 모든 예외를 처리하고자 할때는 다음과 같이 한다.
(catch(Exception e)와 같은 구문을 표현하려 할때)
except:
...

예외의 이름을 주고 싶을때는 다음과 같이 한다.
except WindowsError, we:

한번에 여러가지 예외를 잡고 싶을 때는 다음과 같이 괄호()를 한다.
except (OSError, IOError):

No comments:

Post a Comment