[A Byte of Python]
14장 예외 처리
오류 처리
기본적으로 파이선은 오류가 나면
SyntaxError: (구문 오류)
를 출력하고 발생 위치를 표시한다.
예외 처리
try … except … else 같은 형식이고
try:
"코드"
except "에러 이름":
"에러처리"
else:
"코드"
위와 같은 형식을 사용하며 try아래 코드에서 에러가 발생하면 except문을 찾아 들어가는 형식이다.
임의로 예외 발생 시키기
raise 를 사용해 예외를 임의적으로 예외를 발생 시킬 수 있다.
예제
class MyError(Exception): #Exception 클래스를 상속 받아야 한다. pass try: raise MyError except Myerror: print("My Error Raised") else: pinrt('noerror')
저렇게 하면 try아래에서 강제적으로 MyError가 raise되면서 “My Error Raised”를 출력하게 된다.
try … Finally 문
예외의 발생 여부와 관계 없이 항상 try 구문을 빠져나가면 실행 시킬 코드를 적을 수 있다.
try:
f = open('test','w')
finally:
f.close()
> try안에서 open()을 통해 파일을 열었을 경우 try를 빠져나가면서 자동으로 close()해줄 수 있다.
With 문
with은에초에 파일을 닫기 위한 구문으로 f.close() 를 적어주지 않아도 with문을 빠져나가면 자동으로 close된다.
with open('test','w') as f:
for line in f:
print (line)
위 코드를 보면 f에서 EOF(End of File)을 만나게 되면 자동으로 with문을 나오면서 자동으로 파일이 닫기게된다.