것 같습니다. 아래 정의와 주석을 toolbox.h에서 찾았습니다. 나열된 가정에 유의하십시오. 원하지 않으면이 매크로를 사용할 필요가 없습니다. - 필자는 불필요하다고 생각합니다.
/* The errChk and nullChk macros are useful for implementing a consistent error
handling system. These can macros can be place around function calls to
force an automatic jump to a function's error handling code when an error
occurs. This is analogous to exception handling, and is even easier to use.
These macros make the following assumptions:
1) The following local declaration of an error code variable is
made in every function in which they are used:
int error = 0;
2) Every function in which they are used contains a goto label
named Error which precedes the error handling code for the function.
3) Every function call or error code enclosed in a errChk() macro
is assumed to return an integer which, if negative, is the code for
the error which occured. If the value is zero or positive then the
error checking macros have no effect.
Every function call or value enclosed in a nullChk() macro is
assummed to return a non-zero value if no error occurred, or a
zero value if an "Out Of Memory" error occurred (nullChk() is
useful for malloc, calloc, and similar resource allocation functions).
*/
#ifndef errChk
#define errChk(fCall) if (error = (fCall), error < 0) \
{goto Error;} else
#endif
#ifndef nullChk
#define nullChk(fCall) if ((fCall) == 0) \
{error = UIEOutOfMemory; goto Error;} else
#endif
상기 저작권 코드 (c) 내셔널 인스트루먼트 1987년부터 1996년까지이다. 판권 소유.