ミニプロジェクトとたくさんのクラスがあります。フィールドの例外を作成しましたが、機能しません
public C(..., int yearX, ...) throws InitException {
if (year == 2000) {
...
year = yearX;
...
} else
throw new InitAnneeEC();
}
ミニプロジェクトとたくさんのクラスがあります。フィールドの例外を作成しましたが、機能しません
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();
}