2016-09-07 9 views
0

現在、例外がスローされています。メッセージには値が期待される範囲内に収まらないというメッセージがあります。私は、この例外を掴み、それを抑制するためのコードを作成しようとしています。問題が何であるかを知っています。本質的に誰かが存在しないidを使ってリストからレコードを取り出そうとしています。例外をキャッチする

どのように私はこれをキャッチするつもり?

+0

https://msdn.microsoft.com/en-us/library/0yd65esw.aspx –

+0

「try-catch」を使用する必要がありますが、コードでエラーを処理する必要もあります。たとえば、配列を読んでいるときに、あまりにも遠くに行くと、コードでコードを実行してはいけません。配列に要素がなくなると、コードは停止します。 'try-catch'は、コードではなくユーザによって生成された例外に対して使用されるべきです。 – Justplayit94

+0

少なくともどこかの例外を記録する必要があります。例外は楽しみのために投げられません。 – Werner

答えて

2

このコードを維持しなければならない人たち(またはあなたがこれをやった理由を忘れてしまった6ヶ月間)を正当なものにするためには、なぜ例外を抑制しているのかを正確にコメントするのも良いでしょう。私が例外を抑制するコードを見たら、私はいつもその理由を知りたいです。

0

ブロックcatchtrycatchブロックを使用しますか?

実際に具体的にするには、例外フィルタを使用してそのケースだけをキャッチすることができます(もちろん#6)。あなたは例外を抑制することで全部です。この

try 
{ 
    // Code that may throw an exception. 
} 
catch (Exception ex) // Better to use a more specific exception class 
{ 
    // Do nothing - That suppresses the exception. 

    // If you want to do additional checking that may continue the exception 
    // up the stack use "throw" on its own - which compiled to CIL/MSIL's 
    // "rethrow" and doesn't drop much of the information that would 
    // go if you did "throw ex" 
} 

ような何かをする必要がある例外を抑制する