正确throw exception

异常这个东西,开发应该都是不想遇到的…

不过语言的设计者为什么要加入异常这个机制呢?猜的话,大概是,大部分开发者并不熟悉API,也不可能看过所有文档,如果不抛一个异常让你知道你错了,你可能都不知道问题出在哪里.你也不会根据异常栈去google,然后学习成长…是不是很有道理~~~

顺着这个思路,我们写代码的时候是不是也可以抛一些异常呢?毕竟你可能不是一个人在开发,你的同事不一定看懂你所有的代码.

当你尝试着主动抛异常后,你会发现这是一种非常好的习惯.尤其是在处理分类问题的时候.例如:

switch(num){
    case 1:
        break;
    case 2:
        break;    
    case 3:
        break;
        ...
        ...
    default:
        throw exception here
}

当num是取值区间是已知的,出现异常值的时候直接抛异常,会让你更快的发现问题并解决.或者是由于业务的增加,取值确实多了一个,也能让你更快的在相应的代码块添加代码,毕竟你不添加就报错!!!!

当然正式版本的app我们不希望线上报出crash,因此throw exception配合if debug会更加实用.

以上.