java – 何时为构造函数抛出异常
发布时间:2020-12-15 04:10:19  所属栏目:Java  来源:网络整理 
            导读:public Neocortex(Region rootRegion,ConnectionInterface functor) {this.rootRegion = rootRegion;this.currentRegion = this.rootRegion;this.functor = functor;} 嘿上面我有一个类的构造函数.我的问题是我应该在构造函数中添加空指针异常还是不必要?老
                
                
                
            
                        public Neocortex(Region rootRegion,ConnectionInterface functor) {
this.rootRegion = rootRegion;
this.currentRegion = this.rootRegion;
this.functor = functor;
} 
 嘿上面我有一个类的构造函数.我的问题是我应该在构造函数中添加空指针异常还是不必要?老实说,我只是不明白何时应该为我的代码添加例外.但在这种情况下,我应该使用哪个构造函数? public Neocortex(Region rootRegion,ConnectionInterface functor) {
    if (rootRegion == null) {
    throw new NullPointerException("rootRegion cannot be null");
} else if (functor == null) {
        throw new NullPointerException("functor cannot be null");
    }
this.rootRegion = rootRegion;
this.currentRegion = this.rootRegion;
this.functor = functor;
}
解决方法
 嗯……这是一个品味问题. 
  
  
        如果类的前提条件是必须提供rootRegion,那么保护类实现不需要在整个地方进行空检查是有意义的. 因此,回答“何时应该在构造函数中抛出异常”的问题:我会在所有情况下执行此操作,其中来自使用者的参数使您的实现处于无效状态,委托问题(即抛出异常). 如果你试图将角色作为消费者一段时间,并且你选择不进行空检查,他将拥有如下代码: Neocortex n = new Neocortex(null,null); n.doSomeething(); 如果他到达第二行,并且这里的实现抛出NullPointerException,那么他将不清楚它是由于他提供的参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
