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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.