본문 바로가기
이것저것

1. assert 문으로 방어하기

by 문자메일 2020. 7. 18.

assert 문 사용법

- assert 조건식, '오류 메시지'

 

assert 문 사용 용도

- 개발자의 Debug 용도, 절대로 상용 프로그램에서 예외처리를 위하여 사용하면 안됌. 아래 단락에 적을 2가지 이유 때문임.

(assert 구문은 예상하지 않은 프로그램의 상태를 확인하기 위해 활용해야 함. 구문의 조건을 만족하지 않으면 프로그램이 정상적으로 실행되지 않고 종료되는데, 이는 프로그램의 버그가 있다는 것을 의미함.

 예를 들면 File-Not-Found와 같은 예상되는 에러 조건을 검사하기 위해 사용되는것은 올바른 활용 방식이 아님.)

 

asssert 문 특징

1. 단언문은 if __debug__:  조건에서만 동작함.

   따라서 예외처리(Exception)을 assert(단언문)으로 한 경우 debug 설정이 아닌 상태(끈 상태 등)에서 실행 시 전혀 동작하지 않음.

2. assert문 조건에 값이 들어간 tuple을 적을 경우, tuple의 특성으로 항상 true가 return 되어 의도하지 않은 대로 동작할 수 있으니 주의애햐 한다.

 

 

아래는 assert 관련하여 내용 참조할 수 있는 포스트 링크이다.

 

 

https://python.bakyeono.net/chapter-9-4.html

 

9.4 예외의 분류·정의·발생 | 파이썬 프로그래밍 입문서 (가제)

박연오가 도서출판 인사이트와 함께 준비하고 있는 파이썬 프로그래밍 입문서입니다. 질문과 의견은 페이지 하단의 댓글란에 남겨주세요.

python.bakyeono.net

https://kirade.github.io/python/2019/03/23/python-assert-%EA%B5%AC%EB%AC%B8-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/

 

Kirade의 코딩로그

프로그래밍 공부하면서 배운 지식들의 흔적을 남기고 다른 삶들과 지식을 나누기 위한 블로그입니다.

kirade.github.io

 

 

댓글