>>403=419
>でも、例外がどの文で発生する可能性があるという事はコンパイラにはわかっているので、フロー解析は可能。

確かにコンパイラは例外がどの文で発生する可能性があるかわかるけど
class ファイルになるとその情報は消えてしまうので実行時にはわからなくなってしまうのですよ。
つまり実行時のことを考えると、初期化に失敗して投げられた例外をキャッチしたのか
初期化は成功したもののその後投げられた例外をキャッチしたのかが区別できないので
コンパイラはそういうエラーメッセージを出すわけです。