例外に関する(厳密な)ルールセットです。
Throwable をCatchしている箇所を検出します。
これは全ての例外およびエラーを捕らえてしまう為、
例えば OutOfMemoryError のような致命的エラーがスローされない危険性があります。
Exceptionをスローするメソッドを検出します。
これは全ての例外をカバーする為、実際にどんな例外がスローされるのかを
理解することが難しくなります。
ややこしい例外をスローしている箇所を検出します。
try {
try {
// ここで例外が発生すると (A) に処理が移る
} catch (Exception e) {
// (A)
throw new WrapperException(e); // さらにここで (B) に処理が移る
}
} catch (WrapperException e) {
// (B)
}
NullPointerException をCatchしている箇所を検出します。
この例外をCatchする前にnullチェックをするべきです。
直接Exceptionをスローしている箇所を検出します。
通常、Exceptionをサブクラス化した例外をスローするべきです。
NullPointerException をスローしている箇所を検出します。
この例外は明示的にスローすべき例外ではありません。
catchした例外をそのまま上にthrowしている箇所を検出します。
void bar throws SomeException {
try {
...
} catch (SomeException e) {
throw e; // ただ上に投げているだけ。だったらtry~catch句を使わない方が良い
}
}
java.lang.Error をextendしたクラスが定義されています。
public class Foo extends Error { }
|
|