首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>cc++>正文

Linux下C 程序的异常处理技巧

http://www.oklinux.cn  2008-03-07  来源: 51CTO unknown  会员收藏  游客收藏  【 】 

处理 C 中的异常会在语言级别上遇到少许隐含限制,但在某些情况下,您可以绕过它们。学习各种利用异常的方法,您就可以生产更可靠的应用程序。

保留异常来源信息

在 C 中,无论何时在处理程序内捕获一个异常,关于该异常来源的信息都是不为人知的。异常的具体来源可以提供许多更好地处理该异常的重要信息,或者提供一些可以附加到错误日志的信息,以便以后进行分析。

为了解决这一问题,可以在抛出异常语句期间,在异常对象的构造函数中生成一个堆栈跟踪。ExceptionTracer 是示范这种行为的一个类。

清单 1. 在异常对象构造函数中生成一个堆栈跟踪

// Sample Program:

// Compiler: gcc 3.2.3 20030502

// Linux: Red Hat

#include 

#include 

#include 

#include 

using namespace std;

//////////////////////////// 
/////////////////

class ExceptionTracer

{

 public:

ExceptionTracer()

{

 void * array[25];

 int nSize = backtrace(array, 25);

char ** symbols = backtrace_symbols(array, nSize);

 

 for (int i = 0; i < nSize; i  )

 {

cout << symbols[i] << endl;

 }

free(symbols);

 }

};
共4页: 上一页 1 [2] [3] [4] 下一页

上一篇:学习C 编程语言的最大难度是什么   下一篇:lucene2.0学习文档


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·学习C 编程语言的最大难度是什么
·用VC 制作播放AVI视频流的动画按钮
·VC 中的Progress控件如何使用
·在C 程序中导出Word文档的方法
·体验C 中接口与实现分离的技术
·Stan Lippman:C /CLI全景体验
·C 箴言:如何访问模板化基类中的名字
·C 中控制Windows关机的实用技巧
·也玩视觉效果:VC 编程实现仿真火焰
·取长补短:Simulink与VC 6.0接口比较
·VC 中进程与多进程管理的方法
·应用实例:VC 实现广告窗口自动关闭
·C 编程语言中的四个调试技巧
·C 箴言:理解inline化的介入和排除
·C 箴言:避免返回对象内部构件的句柄
·C 箴言:理解new-handler的行为
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·用Eclipse平台进行C/C 开发
·在 Linux 中使用共享对象
·VS:针对Java开发人员的C#编程语言
·使用智能设备扩展在C#中开发自定义控件
·Visual C# 常见问题
·二级C语言实例解答
·一种被忽视的构造和整数溢出重现
·轻轻松松C to C
·与用于 C 的ISO标准保持一致
·用C 的托管扩展针对Windows编程
·运行时和编译时的安全性检查
·轻轻松松C to C (二)
  阅读排行
·c/c++ 学习-read 函数和 write 函数
·程序员眼中的qmail(qmail源代码分析)
·Awk 基础入门:Awk 实例编程
·autoconf 和automake生成Makefile文件
·Linux下的多进程编程
·入门文章:教你学会编写Linux设备驱动
·C++自动化(模板元)编程基础与应用
·使用 GDB 调试多进程程序
·Qt 不规则窗体的实现
·嵌入式程序员应知道的几个基本问题
·Linux操作系统中GCC的应用介绍
·C语言中的指针和内存泄漏
·用GNU profiler提高代码运行速度
·vi 中的正则表达式 (Regular Expressio
·Linux 套接字编程中的 5 个隐患
网摘收藏: