文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C语言出错处理

C语言出错处理

时间:2010-12-09  来源:春强

     今天翻书看到,记录一下。别笑,我能看懂的都是皮毛。

     1.使用assert宏,原型如下:

  #include <assert.h>

      void assert(int expression);

  作用机制,如果 expression 为0,则先向stderr输出错误信息,然后调用abort终止程序运行。

  assert缺点是影响执行速度,可以使用#define NDEBUG 来禁用assert调用。

   1 #include  <stdio.h>
2 #define NDEBUG
3 #include <assert.h> 

  2.使用宏__LINE__和__FILE__在出错的时候显示出错的行号及文件名。

  3.使用库函数

  (1). errno 程序出错时会把errno设置为一个非0的值。(头文件 errno.h)

  (2). abort函数 可以是程序异常退出。  (头文件 stdlib.h)

  (3). exit函数 与abort类似,但在完成清理后才终止,

    如果有atexit函数登记的任务,会调用atexit的执行函数   (头文件 stdlib.h)

  (4).atexit函数 登记在程序正常终止时要调用的函数  (头文件   stdlib.h)

  (5).strerror和perror函数,用来打印系统错误信息。原型:  

1 /*strerror*/
2 #include <stdio.h>
3 char *strerror(int errnum);

5 /*perror*/
6 #include <stdio.h>
7 #include <errno.h>
8 void perror(const char *s);

  4.使用系统日志函数

  syslog和openlog

  openlog可以用来帮助定位信息在日志文件中的位置。

  syslog用来写入系统日志。syslog可以根据预先定义的级别来写入日志。一般定义在LOG_ERR 和 LOG_NOTICE之间。

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载