拂晓·明月·弯刀

观望,等待只能让出现的机会白白溜走

  C++博客 :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
    “C++的一个问题是有太多的库,但是没有一个大卖场有所有这些库。C++不是对GUI支持不好。C++有GUI库。问题是C++有25个GUI库。有些 GUI库不错。但是人们说:“可是C++没有标准GUI库。”Python不一样。人们知道到哪里去找Python的GUI库。所以C++的问题是有太多库,但是所有的库市场宣传都做的不够(It's a problem of riches, plurality, and a lack of marketing)。搞C++的看来都很穷,没有钱来提供一个可以找到所有库的大卖场。”
    以上摘自在2003年9月的JAOO会议上,Bill Venners对Bjarne Stroustrup采访,我想,这样的局面也导致了目前C++对错误没有一个统一的处理方式,不象JAVA可以统一采用异常的错误处理方式(我曾看过经JMS重写 的CMS--ActiveMQ CMS,里面一律采用异常,包括构造/析构函数),因为它需要兼顾C/C++/SDK中各自不同的错误处理方式。
    不应该发生的错误如果发生了,那就是程序员的过错,此时就该使用ASSERT断言了。
    不能用抛出异常来代替断言。
    断言采用如下形式:
1unsigned int Employee::GetID()
2{
3   assert(m_nID!=0 && "Employed ID is invalid(must be nonzero");
4   return m_nID;
5}

附C++错误处理相关文章:
http://msdn2.microsoft.com/zh-cn/library/ms809695.aspx (考虑错误情况)
http://blog.csdn.net/pongba/archive/2007/10/08/1815742.aspx(错误处理(Error-Handling):为何、何时、如何)
《 契约式设计的理解及其在c/c++中的应用》
Robert Schmidt《C与C++中的异常处理》

posted on 2008-03-01 23:28 一路风尘 阅读(1203) 评论(0)  编辑 收藏 引用 所属分类: C++技术/工作总结

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理