[A Byte of Python] 14장 예외 처리

[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문을 나오면서 자동으로 파일이 닫기게된다.

글의 문제가 있다면 댓글을 달아 주세요.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.