본문 바로가기
파이썬 이야기

Part 38. 파이썬 예외 발생시키기

by 핸들이없는8톤트럭 2022. 8. 7.
반응형

예외 발생시키기

1. 이미 구현된 예외 사용하기

내장 함수나 외부 패키지에서 런타임 오류를 발생시키면 exception이 발생합니다. 예외의 종류는 valueerror,indexerror,nameerror 등 다양하며, 모든 예외는 exception 클래스를 상속합니다.

 

2. Raise를 이용해 직접 예외 발생시키기

raise 키워드를 이용해 직접 예외를 발생시킬 수 있습니다.

raise Exception

raise Exception('메세지')

raise NameError

 

예외 처리하기

기본적인 예외 처리는 try- except를 이용합니다. try 실행 구문을 실행하는 도중에 예외가 발생하면, 실행 구문을 중단하고 예외 매칭을 시작합니다. except가 작성된 순서대로 예외를 매칭하게 됩니다. 또한, except 이후에 예외 종류를 명시하지 않으면, 모든 예외를 매칭합니다.

 

except :       <<-- Catch-all 케이시는 마지막에 위치시켜야 도달하지 않는 코드가 발생하지 않습니다.

 

 

try ~ except의 추가 기능

예외 매칭 시, 모든 자식 클래스를 모두 매칭합니다. exception은 모든 예외가 상속하므로, exception으로 모든 예외가 매칭됩니다. else 키워드를 이용해 예외가 발생하지 않은 경우에만 실행되는 구문을 작성할 수 있습니다. finally 키워드를 이용해 예외 발생 여부에 상관 없이 실행되는 구문을 작성할 수 있습니다.

 

import os # 우리의 운영체제와 통신하기 위한 패키지임

# 폴더 생성 예제

try :
    os.mkdir('folder_name')
except FileExistsError as e:
    print(f'{e.filename} already exists!')
except OSError as e:
    print(e.with_traceback(e.__traceback__))

반응형

댓글