c# - 处理异常和。首先防止它们发生 - C#

标签 c# .net-2.0 error-handling try-catch

我有一个带有 DateTime 的 asp:BoundColumn? asp:GridView 中的数据(我将其称为 X 列)。我遍历网格中的所有行,并将 .Text 属性转换到 X 列到 DateTime(我需要它来进行一些检查并根据需要更改单元格背景颜色)。

我有两个选择:

  1. 将转换包装在 try/catch 中...处理 FormatException(以防列 X 渲染时出现一些垃圾)...并且仅使用有效的 DateTime 值。

  2. 检查 X 列以确保它是 以正确的格式(如何?)之前 大小写,并且仅在格式为 好的。

我应该采用哪种方法,为什么?

谢谢。

附注对所有解释投了 1 票,接受了 TryParse 的答案

Edit2:即使我使用了 TryParse,我也没有选中已接受的答案以继续讨论。

我的“好数据”/“坏数据”比率约为 2/1 - 这意味着有很多错误输入

如果没有其他问题,我会在几天后重新接受答案。

最佳答案

您可以选择第二个选项。 DateTime.TryParse 可以提供帮助。

关于c# - 处理异常和。首先防止它们发生 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/531397/

相关文章:

c# - Azure - 系统为 Function App 分配托管标识

C# Func<> 委托(delegate)参数转换错误

oracle - 在不关闭显式游标的情况下完成plsql block 时,是否出现oracle错误代码?

php - fatal error : Uncaught exception 'Braintree_Exception_Configuration' with message 'environment needs to be set.'

.net - 在托管 C++ 中创建 KeyValuePair

javascript - 我可以指定如何处理异步 javascript 库中的错误吗?

c# - 我可以在 Linq 结果上使用 "Count"属性吗?

c# - 在 C# 中允许 CX509PrivateKeyClass 的 KeyProtection

c# - using() { } block 中的 yield return 语句 在执行之前处理

c# - 这里的编译时类型安全是什么意思?