自定义异常错误继承

jes*_*580 9 java inheritance exception sonarqube

我创建了扩展Exception类的自定义基本异常.后来我正在扩展MyBaseException又把另一个类 - 这次是specyfic异常类.而我现在对SonarQube之一有一个问题 - 特别是" 类似命名的类"Exception"应该扩展"Exception"或子类 "规则.类声明看起来像这样:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题只有这个SpecException.SonarQube没有看到第一次继承的任何问题.SonarQube给出的提示是:" 重命名此类以删除"异常"或更正其继承. "但我认为继承是正确的,因为我继承了子类Exception.

use*_*695 4

在此链接中,有人说 Sonar 6.0 纠正了此问题:https://groups.google.com/forum/#!topic /sonarqube/iXxKGIYRZ1g 。

我刚刚意识到Sonar v6.0已经出来了,在我用新版本测试后问题就消失了。谢谢迈克尔抽出时间。

这似乎是以前版本的 Sonar 的一个错误。众所周知,Java 中的所有异常类都按惯例命名,并以“Exception”结尾,并且它们可以具有多个级别,因此只要上层异常扩展了该类,您的代码似乎就是正确的Exception