1.C语言异常处理
1.1 异常终止
标准C库提供了abort()和exit()两个函数,它们可以强行终止程序的运行,其声明处于
include
include
include
include
include
include
include
include
ifdef NDEBUG
define assert(exp) ((void)0)
else
ifdef __cplusplus
extern “C”
{
#endif
_CRTIMP void __cdecl _assert(void , void , unsigned);
#ifdef __cplusplus
}
endif
define assert(exp) (void)( (exp) || (_assert(#exp, FILE, LINE), 0) )
endif /* NDEBUG */
如果程序不在debug模式下,assert宏实际上什么都不做;而在debug模式下,实际上是对_assert() 函数的调用,此函数将输出发生错误的文件名、代码行、条件表达式。例如下列程序: