2017년/Python

파이썬의 예외처리에 대해서

위지원 2017. 9. 3. 11:38


파이썬 공식문서에 나와있는 예외처리를 보고 잠깐 공부해보자



에러의 종류는 다양하다. 다른언어와 마찬가지로 try-except문으로 예외처리를 할 수있다.


기본로직

try : 실행할 로직 except ValueError as : 에러발생시 실핼될 로직


여러개의 에러 동시에 처리

괄호로 묶으면 여러가지의 에러를 동시에 처리할 수 있다.

except (RuntimeError, TypeError, NameError):


에러이름 정해주기
as를 사용하여서 에러의 이름을 따로 지정할 수 있다.
except ZeroDivisionError as err:

여러개의 클래스를 동시에 처리
오...신기해라 여러클래스의 에러를 동시에 처리할 수도있다!

class C1(Exception): pass class C2(C1): pass class C3(C2): pass for cls in [C1, C2, C3]: try: raise cls() except D:

except C: except B:


raise

raise 명령문을 이용하여 일부로 에러를 발생시킬 수 있다.

raise KeyboardInterrupt


사용자정의 에러

error를 상속받아서 초기화하면 나만의 에러를 만들 수 있다.

class Error(Exception):\ pass class InputError(Error): def __init__(self, expression, message): self.expression = expression self.message = message