単純な議論のスレッドで終わらないように、質問を試みます。
最近、C# でコーディングされたアプリケーションに飛び込んで、例外メカニズムを発見しています。そして、私は次のようないくつかの悪い経験をしました
// _sValue is a string
try
{
return float.Parse(_sValue);
}
catch
{
return 0;
}
私はそれを次のように変更しました:
float l_fParsedValue = 0.0f;
if (float.TryParse(_sValue, out l_fParsedValue))
{
return l_fParsedValue;
}
else
{
return 0;
}
結果、Visual Studio の出力に次のようなメッセージが殺到しなくなりました
最初のチャンス System.FormatException blabla
「-」のような文字列がスニペットに到着したとき。2番目のスニペットを使用する方がクリーンだと思います。
さらに一歩進んで、「この try-catch でやりたいことは何でもします。何か問題が発生した場合は、catch します。」というように、例外があまりにも頻繁に使用されていることをよく見てきました。
悪い誤解にとらわれないようにするために、これらの例外をいつどのように使用するか、およびいつ古い学校の「if...else」に固執するかを明確に定義するのを手伝ってほしい.
よろしくお願いします。