JavaScriptのtry-catchはどこでも書ける?

try-catchの中にfunctionとかが出てきても平気なようだ。

try {

  function outer() {
    inner();
    function inner() {
      alert("Hello World");
    }
  }
  outer();

} catch(e) {
  alert(e.number + ": " + e.description);
}

みたいなことをしてもパースエラーにならない。これって、JavaでThrowableをcatchするようなことが出来るのではと思った。JavaScriptのコードの最初と最後をtry-catchで囲んでおくだけで、誰にもcatchされなかった居残りエラーを最終的に捕まえることが出来るみたいな。
でも、何か実用的な感じがしないのは、catchのエラーオブジェクトに詳しい情報が入っていないせいかもしれない。