我有一个小型项目和很多课程。我为一个字段创建了一个异常,它不起作用
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/