[C/C++] assert 함수 : 디버깅을 위한, 더 안전한 코드를 위한 오류 검출 방법

visualnnz·2024년 2월 25일
0

Cpp

목록 보기
5/7

assert 함수란?


디버깅 모드에서 개발자가 오류가 생기면 치명적일 것이라고 생각하는 곳에 심어 놓는 에러 검출용 코드이다.

e.g.) int price가 음수가 나오면 안되는 상황

#include <iostream>
#include <cassert>

int main()
{
	int price;

	std::cin >> price;
    
    // 0보다 작은 price가 들어오면 assert error 발생
	assert(price >= 0);
    std::cout << price << std::endl;
    
    return 0;
}

위 코드를 컴파일 후 실행하면 아래와 같이 Assertion failed라는 문구가 뜨면서 에러가 발생하게 된다.





assert 함수 원형 및 사용방법

  • C언어 헤더파일 : assert.h

  • C++ 헤더파일 : cassert

  • 함수 원형 : void assert(int expression)
    └ expression이 0이 되면 assert error가 발생하게 된다.
    └ C++ 스타일로, expression이 false가 되면 assert error가 발생한다.

  • assert( )에서 ( )안의 내용이 true가 되면 통과, false가 되면 assert error가 발생한다.





출처
[C언어/C++] assert 함수에 대해서 : 디버깅을위한, 더 안전한 코드를 위한 오류 검출 방법, https://blockdmask.tistory.com/286, (2018. 10. 24.)

0개의 댓글

관련 채용 정보