본문 바로가기

Programming/Python

[01. Python] 013. 예외처리

728x90

코딩을 하다보면 수 많은 에러가 발생한다. 어떤 에러가 발생했는지 쉽게 파악이 가능해야 디버깅 하기도 편하다. 예외처리를 통하여 에러를 잘 핸들링한다면 보다 유연한 프로그램 개발이 가능할 것이다. 에러에 대한 예외처리의 기본형태는 다음과 같다.

 

try:
 1 / 0
except ZeroDivisionError as e:
 print(e)
except IndexError as e:
 print(e)
else:
 print('오류없음')
finally:
 print('예외처리')


결과 값
division by zero
예외처리

 

try구문의 실행코드가 에러가 발생하면 except구문에서 처리한다. 위의 코드에서는 1 / 0을 하여 0으로 나눈 에러(ZeroDivisionError)가 발생했다. 이 에러가 발생하면 에러메시지를 출력하도록 했다. else구문은 오류가 없을 때 실행되고 finally구문은 마지막에 무조건 실행되는 코드이다.

 

에러를 뜻하는 코드는 다음과 같이 에러를 발생시키면 알 수 있다.

 

1 / 0


결과 값
Traceback (most recent call last):
  File "H:/Bitmex/test.py", line 1, in <module>
    1 / 0
ZeroDivisionError: division by zero

 

그리고 Exception클래스 상속을 통해 커스텀 에러를 만들 수 있다.

 

class CustomError(Exception):
 def __str__(self):
  return "Custom Error"

try:
 raise CustomError
except CustomError as e:
 print(e)


결과 값
Custom Error
728x90