Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建新的异常类型-编写所有构造函数还是只编写所需的构造函数?_Java_Exception - Fatal编程技术网

Java 创建新的异常类型-编写所有构造函数还是只编写所需的构造函数?

Java 创建新的异常类型-编写所有构造函数还是只编写所需的构造函数?,java,exception,Java,Exception,当我编写一个新的异常类型时,我应该只编写所需的构造函数,还是实现所有存在于Throwable中的构造函数(并通过super()调用它们) 当考虑它时,我会说只实现需要的东西(YAGNI-你不会需要它)。如果我以后需要另一个构造函数,我只需要添加它 例如: public void MyException extends RuntimeException { // I only need this constructor public MyException(Throwable ca

当我编写一个新的异常类型时,我应该只编写所需的构造函数,还是实现所有存在于
Throwable
中的构造函数(并通过
super()
调用它们)

当考虑它时,我会说只实现需要的东西(YAGNI-你不会需要它)。如果我以后需要另一个构造函数,我只需要添加它

例如:

public void MyException extends RuntimeException {
    // I only need this constructor
    public MyException(Throwable cause) {
        super(cause);
    }
}

只实现您需要的,并在需要时添加。我通常会添加带有字符串消息的消息和您拥有的消息(用于包装另一个异常)。

只实现您需要的内容,并根据需要进行添加。我通常会添加带有字符串消息的消息和您拥有的消息(用于包装另一个异常)。

是的,您应该实现您需要的消息

我工作/工作的系统通常至少实现一个接收异常原因的构造函数(与您的示例完全相同)。另外,一个只定义默认构造函数的异常也没有多大意义,除非它是非常具体的


致以最诚挚的问候。

是的,您应该实现您需要的功能

我工作/工作的系统通常至少实现一个接收异常原因的构造函数(与您的示例完全相同)。另外,一个只定义默认构造函数的异常也没有多大意义,除非它是非常具体的


致以最诚挚的问候。

这取决于你写作的目的

对于小程序,不要编写死代码


如果该类将进入一个库或将被其他团队/团队成员使用,其中存在某种代码所有权,则编写完整的类。注意这一点:“推测性概括”是软件开发中的一个严重问题。

这取决于您的写作目的

对于小程序,不要编写死代码

如果该类将进入一个库或将被其他团队/团队成员使用,其中存在某种代码所有权,则编写完整的类。请注意:“推测性概括”是软件开发中的一个严重问题