If it can't happen, use assertions to ensure taht it won't!
1. "这决不会发生...", 我们不要这样自我欺骗, 特别是在编码时.
2. 传给断言的条件不应该有副作用.
3. 不要用断言代替真正的错误处理.
4. 如果你需要释放资源, 就让断言失败生成异常, longjump到某个退出点, 或是调用错误处理器.
5. 让断言开着. 即使你确实有性能问题, 也只关闭那些真的有很大影响的断言.
6. "海森堡虫子", 调试改变了被调试系统的行为. ASSERT(null != iter.nextElement());
下面是一些"不可能的事":
1. 一个月少于28天
2. stat(".",&sb) == -1
3. 在C++里: a=2; b=3;if (a+b!=5) exit(1);
4. 内角和不等于180的三角形
5. 没有60秒的一分钟
6. 在java 中: (a+1)<=a
PS: 刚开始看到, 真的很多都觉得是不可能的~~真当是知识面不够广~
"这决不会发生...", 我们不要这样自我欺骗, 特别是在编码时.
Michael.