我有一个小型项目和很多课程。我为一个字段创建了一个异常,它不起作用

public C(..., int yearX, ...) throws InitException {
        if (year == 2000) {
            ...
            year = yearX;
            ...
        } else
            throw new InitAnneeEC();
    }

最佳答案

您的问题是您在构造函数中比较了year,但没有首先设置它的值,所以总是会发生异常。

    public C(..., int yearX, ...) throws InitException {
        if (year == 2000) {
            ...
            year = yearX;
            ...
        } else
            throw new InitAnneeEC();
    }


实际上,当您使用if (year == 2000)时,它将使用默认值:0,因此比较始终为false。
我猜您想将anneeEC值设置为anneeE值。

尝试像这样更改代码:

    public C(..., int yearX, ...) throws InitException {
        year = yearX;
        if (year == 2008) {
            ...
        } else
            throw new InitException();
    }

关于java - 数组中对象的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15375849/

10-10 17:28