【问题标题】:IntParse to TryParseIntParse 到 TryParse
【发布时间】:2016-02-19 10:55:01
【问题描述】:

我正在尝试转换这段代码:

try
{
    recordID = Int64.Parse(SqlHelper.ExecuteScalar(conn, CommandType.Text, sqlString, parms).ToString());
}
catch (Exception ex)
{
    int x = 1;
}

进入 TryParse 代码。 我需要捕获(异常)吗?

【问题讨论】:

  • 根据我的经验,如果你不得不问,是的。但请确保您妥善处理该案件,或者根本不处理。
  • TryParse 不会抛出,如果解析失败,它会返回 false 但是 try 块中发生的事情比解析要多得多……例如所有数据库工作也可能引发异常。目前任何查询或连接问题都被完全忽略,这似乎是不明智的。

标签: c# try-catch tryparse


【解决方案1】:

TryParse 方法本身不需要 catch 子句。 但是您的代码中还有很多其他调用。 如果您的数据库中有 int 列类型,我建议您直接使用该值:

try
{
    recordID = Convert.ToInt64(SqlHelper.ExecuteScalar(conn, CommandType.Text, sqlString, parms));
}
catch (Exception ex)
{
   LogError(ex);
}

因为转换为字符串然后从字符串转换是额外的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2014-06-03
    • 1970-01-01
    相关资源
    最近更新 更多