Из главы Exceptions в Effective Java:
Placing code inside a try-catch block inhibits certain optimizations that modern JVM implementations might otherwise perform
Почему и , как блок try -catch предотвращает оптимизацию с помощью JVM?