JavaScript では catch {} なしの try {} は可能ですか? 質問する

JavaScript では catch {} なしの try {} は可能ですか? 質問する

何かを返したりエラーをスローしたりする関数がいくつかあります。メイン関数では、これらの各関数を呼び出し、各関数によって返された値を返すか、最初の関数がエラーをスローした場合は 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
}

おすすめ記事