에러처리 및 디버그 유틸리티
본 장에서는 에러처리 및 디버그와 관련된 유틸리티에 해당하는 API를 설명한다.
1. PFM_ERR
해당 서버의 로그 파일에 에러 정보를 출력한다.
-
프로토타입
void PFM_ERR(char *format, …);
-
파라미터
파라미터명 설명 *format
출력 포맷
…
가변 인자로 입력 유무를 선택할 수 있는 값
-
예제
PFM_ERR(“ERROR MESSAGE=%s”, pfmStrGetErrorMsg());
2. PFM_DBG
해당 서버의 로그 파일에 디버깅 정보를 출력한다.
-
프로토타입
void PFM_DBG(char *format, …);
-
파라미터
파라미터명 설명 *format
출력 포맷
…
가변 인자로 입력 유무를 선택할 수 있는 값
-
예제
Long a = 123; PFM_DBG(“a=%ld”, a);
3. PFM_TRY
함수가 호출되기 전과 후에 해당 함수를 추적(trace) 로그로 출력한다. 해당 함수를 호출하는 중에 에러가 발생하면 PFM_CATCH Label로 이동한다.
-
프로토타입
void PFM_TRY(rc);
-
파라미터
파라미터명 설명 rc
추적(trace)할 함수명
-
예제
char str[] = “2315”; long num, rc; PFM_TRY( pfmStrToLong(&num, str) ); return RC_NRM; PFM_CATCH: PFM_ERR(”Error!!”); return rc;
4. PFM_TRYNJ
함수가 호출되기 전과 후에 해당 함수를 추적(trace) 로그로 출력한다. PFM_TRY와는 다르게 해당 함수를 호출하는 중에 에러가 발생하면 PFM_CATCH Label로 이동하지 않는다.
-
프로토타입
void PFM_TRYNJ(rc);
-
파라미터
파라미터명 설명 rc
추적(trace)할 함수명
-
예제
char str[] = “2315”; long num, rc; PFM_TRYNJ( pfmStrToLong(&num, str) ); If ( rc != RC_NRM ) { PFM_ERR(”Error!!”); return rc; } return RC_NRM;