你的程序够健壮么?我看未必。。。
问题引出:
从刚接触代码就被灌输这样的思想:
1. 你写的代码不是没有错误,而是至今还没有发现错误。
2. 测试是为了发现错误,而不是为了确定软件没有错误。
3. 写的代码一定要有很高的健壮性。
但是,你看一下下面的代码,你觉得这个代码的健壮性如何?
public class Test{public static void main(String[] args) throws InterruptedException{final int[] denominators={1,2,3};new Thread(new Runnable() {@Overridepublic void run() {try {Divide100By(denominators);} catch (InterruptedException e) {e.printStackTrace();}}}).start();Thread.sleep(50);denominators[2]=0;}private static void Divide100By(Object o) throws InterruptedException{int[] denominators=(int[]) o;for(int i=0;i<denominators.length;i++){if(denominators[i]==0){throw new RuntimeException("除数不能为0");}}System.out.println("所有的除数都合法");Thread.sleep(100);for(int i=0;i<denominators.length;i++){//System.out.println(""+denominators[i]);System.out.println("100/"+denominators[i]+"="+100/denominators[i]);}}}问题分析 依我看,上面的Divide100这个方法,是一个不错的代码,因为他对传过来的数组进行了是否为0的判断。