2016-09-21 23 views
4

大きなコードベースで、古いJavaScriptコードをリファクタリングしようとしています。私の上司は、コードにtry{ }catch(err){ }ブロックがたくさんあり、開発者がcatchブロックを空にしてしまったと指摘しました。キャッチブロックを空のままにすると、JavaScriptの問題が発生する可能性があります。

とにかく、これらのコードブロックを空にしておくことに何らかの害がありますか?私はそれがJavaで問題を引き起こす可能性があると聞いてきましたが、JavaScriptの場合には問題ありません。

例:私は、空のcatchブロックで働いてきた私は、ほとんどの言語で見てきたから

try { 
     if (value != null) { 
     var typeOne = report; 
     returnVal = formatB; 
    } 
} catch (err) { 
    // Is this bad? 
} 
+1

答えはありませんが、コメントをconsole.log( 'error:' + err)に置き換えてみませんか? – chenchuk

+1

これは基本的に私がやったことですが、それが問題を引き起こす可能性があるのであれば私はちょうど興味がありました – Showcaselfloyd

+1

'それはJavaで問題を引き起こす可能性があると聞いています。 JavaScript以外にも、少なくとも有益な情報はいずれの場合でも飲み込まれるため、問題が発生したかどうかを知るのは苦労します。時々あなたは例外を飲み込むことを喜んでいるかもしれないが、礼儀/標準は通常、将来のメンテナーにそれが意図的であると言うコメントを残すよう指示する。 – vlaz

答えて

2

がエラーを飲み込むとデバッグが本当にトリッキーにします。例外をどこかに記録するか、エラーメッセージのUIレベルに投げたり、少なくとも私の経験では適切に処理されたエラー処理メソッドに投げたりするのがいいでしょう。そうしないと、バグのある動作に終わり、それを追跡するのが難しくなります。

+0

それで、基本的にはすべてのエラーをスクラッシュします。それは理にかなっている。 – Showcaselfloyd

+0

これは私が見たものです、それはブラックホールに消えるエラーのようです。 :)私たちは今週仕事でこの問題をレガシープロジェクトに遭遇し、Try/Catchブロックを書き換えて例外をより良く処理し始めました。 –

関連する問題