何かを返したりエラーをスローしたりする関数がいくつかあります。メイン関数では、これらの各関数を呼び出し、各関数によって返された値を返すか、最初の関数がエラーをスローした場合は 2 番目の関数に進みます。
つまり、私が現在持っているものは次のとおりです。
function testAll() {
try { return func1(); } catch(e) {}
try { return func2(); } catch(e) {} // If func1 throws error, try func2
try { return func3(); } catch(e) {} // If func2 throws error, try func3
}
しかし、実際には、それを返したいだけですtry
(つまり、エラーをスローしない場合)。catch
ブロックは必要ありません。ただし、次のようなコードは、try {}
(未使用の) ブロックがないため失敗しますcatch {}
。
置いたjsFiddle の例。
catch
では、同じ効果を達成しながらそれらのブロックを削除する方法はあるのでしょうか?
ベストアンサー1
あ試すなしでキャッチ句はエラーを次の上位のキャッチ、またはその try 内で catch が定義されていない場合はウィンドウ。
もしあなたがキャッチ、try式にはついに句。
try {
// whatever;
} finally {
// always runs
}