2


1

リシャーパーとC#キャッチ句

私はResharperに不慣れで、なぜそれが示唆されるように思われるか理解しようとしています: catch(Exception){} for `` catch {} `

and

catch {} for` catch(Exception){}

私は困惑しています。

5 Answer


9


基本的には、具体的な推奨をするよりも、2つの方法を切り替える方法を提供します。

ReSharper /オプション/コード検査/検査の重大度で提供されるものを変更することができます - 関連オプションを見つけて、なし、ヒント、提案、警告、またはエラーの間で優先度を変更することができます。


4


Resharperには、さらに推奨される別のメッセージがあります。`+ Exception + `クラスをキャッチしないように勧めています。


2


+ catch {} + ←すべてのエラーを抑制します。 エラーを確実に破棄できる場合にのみ実行してください。

`+ catch {throw; } + `←これは必須ではありません。 呼び出し側の関数にエラーを再スローすることは、コンパイラによってすでに注意が払われています。 明示的に追加する必要はありません。


1


それはあなたに考慮すべき選択肢を与えているだけであり、それはあなたのコードを改善するための洞察を引き起こすかもしれません。 意味がわからない場合は、提案を無視してください。


-2


ときどきcatchブロックを整理するとき、純粋にフィルタリングしようとしているかどうかに応じて、 `+ catch(Exception ex)`から ` catch(Exception)`から ` catch +`へ、またはその逆に移動するため、 / wrap、または例外を飲み込みます。 (http://www.devexpress.com/Support/Center/p/S131074.aspx[meを参照してください。R#にも存在することを意識せずに、CodeRushに同じ機能を要求してください)。

編集:リンクは以前「空の捕獲物は悪い」とラベルされていたので、非常に正しい下落投票!