ミニプロジェクトとたくさんのクラスがあります。フィールドの例外を作成しましたが、機能しません
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();
}