JAVA.CTOR.EXCEPT
コンストラクターが例外をスローすることに注意する
脆弱性とリスク
例外をスローするコンストラクターによってオブジェクトが部分的に初期化され、その結果、後で予期せぬ結果につながる可能性があります。
軽減と防止
コンストラクターでの例外の使用を制限するか、または例外が適切に処理されるようにしてください。
脆弱コード例
コピー
package com.klocwork;
import java.io.IOException;
public class JAVA_CTOR_EXCEPT_POSITIVE {
public JAVA_CTOR_EXCEPT_POSITIVE(boolean check) throws IOException {
if (check) {
System.out.println("hello world");
} else {
throw new IOException("...");
}
}
}
修正コード例
コピー
package com.klocwork;
public class JAVA_CTOR_EXCEPT_NEGATIVE {
public JAVA_CTOR_EXCEPT_NEGATIVE() {
System.out.println("hello world");
}
}