摘要:
有时候, 我们需要捕获异常, 你想要传递异常到下一个try/catch块中. RuntimeException或Error是不强制捕获的.Guava提供了一些工具类, 可以简单地捕获和重新抛出多个异常.1 try {2 someMethodThatCouldThrowAnything();3 } catch (IKnowWhatToDoWithThisException e) {4 handle(e);5 } catch (Throwable t) {6 Throwables.propagateIfInstanceOf(t, IOExceptio... 阅读全文
阅读排行榜
OpenMP的hello world
2011-04-04 10:59 by 会被淹死的鱼, 665 阅读, 收藏,
摘要:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <omp.h> 4 5 int main(int argc, char *argv[]) 6 { 7 int threadID, totalThreads; 8 omp_set_num_threads(4); 9 10 #pragma omp parallel private(threadID)11 {12 threadID = omp_get_thread_num();13 printf("\nHello World is from thr 阅读全文
Python tricks(2) -- method默认参数和闭包closure
2014-01-23 00:24 by 会被淹死的鱼, 663 阅读, 收藏,
摘要:
Python的method可以设置默认参数, 默认参数如果是可变的类型, 比如list, map等, 将会影响所有的该方法调用.下面是一个简单的例子def f(a=None, l=[]): if not a: return l l.append(a) return lif __name__ == "__main__": print f("a") print f("b") print f("b") print f(l=[]) print f()输出结果如下:['a']['a', 阅读全文
wine qq2010面板上的邮箱和空间问题
2010-11-26 23:28 by 会被淹死的鱼, 652 阅读, 收藏,
摘要:
wine qq2010精简版已经可以比较稳定地运行,但上面的邮箱图标点击后无法打开(wine的qq2009 preview单文件版可以使用)wine1.2中有里winebrowser,可以调用ubuntu系统自带浏览器运行$regedit(如果面板字符看不清,请关掉特效)查看注册表中的[HKEY_CLASSES_ROOT\http\shell\open\command]"C:\windows\sy... 阅读全文
<<重构手册>>阅读笔记:重构的含义
2011-03-30 09:24 by 会被淹死的鱼, 641 阅读, 收藏,
摘要:
重构是安全地改善既有代码设计的一门艺术.有以下几种含义:重构并不包括对系统的所有修改.如果修改是对设计的改善, 或是增加新的功能, 则均不能被认为是重构. 例如, 极限编程(XP)使用了测试驱动开发(TDD), 这包括先编写一个测试, 然后编写新代码引入新的特性, 最后再重构以改善设计.重构并非从头开始重新编写. 重构可以改变平衡点, 从而有可能改善代码, 而无需承受重新编写的风险.重构并不仅仅是用于改善代码的某种结构更改. 重构(refactoring)和更改结构(restructuring)的区别. 重构力图达到一种安全的转换. 如果所做的修改使得代码在超出一个工作期时就无法正常工作或运转 阅读全文