ある意味用法用量を守らんと偉い目に遭うけど、C#で些末な例外処理するなら以下みたいなメソッド一個こさえれば割と幸せかもしれない
public static T TryGetValueOrDefault<T>(Func<T> getter,T defaultValue=default(T))
{
T ret=defaultValue;
try
{
ret=getter();
}
catch (Exception ex)
{
#if DEBUG
throw;
#endif
//リリース時のログ処理をここに書く
Console.WriteLine(ex.Message);
}
return ret;
}