Exception
sınıfını genişleten özel taban istisnası oluşturdum. Daha sonra başka bir zamana göre MyBaseException
sınıfını genişletiyorum - bu kez özel durum istisnası sınıfı. Ve şimdi SonarQube ile ilgili bir sorunum var - "" İstisna "gibi adlandırılan sınıflar" Özel Durum "veya bir alt sınıf" kuralını genişletmelidir. Sınıf bildirimleri benziyor:Özel istisna yanlış devralma
import org.apache.log4j.Logger;
import org.springframework.http.HttpStatus;
public class MyBaseException extends Exception {
public MyBaseException(int code, String message) {
super(message);
this.code = code;
LOGGER.error("Exception with HttpStatus code: " + code + " Msg: "
+ message);
}
public MyBaseException(HttpStatus code, String message) {
this(code.value(), message);
}
public int getCode() {
return code;
}
}
import org.springframework.http.HttpStatus;
public class SpecException extends MyBaseException {
public SpecException (HttpStatus code, String message) {
super(code, message);
}
public SpecException (int code, String message) {
super(code, message);
}
}
Sorun bu SpecException
ile sadece. SonarQube, ilk mirasla ilgili herhangi bir sorun görmüyor. SonarQube tarafından verilen ipucu şöyledir: "" Exception "u kaldırmak veya onun mirasını düzeltmek için bu sınıfı yeniden adlandırın." Ancak, Exception
alt sınıfı tarafından miras aldığım için mirasın doğru olduğunu düşünüyorum.
MyBaseException Özel Durumunu Uzatıyor mu? Bundan şikayetçi gibi geliyor. – pvg
Evet, özel durumu genişletir. Bu sınıf sonar tarafından geçerlidir. Sorun SpecException ile. – jester2580
Evet, sorunu sergileyen asgari bir örnek olmadan söylemek gerçekten mümkün değil. – pvg