2016-02-19 5 views
0

Я пытаюсь превратить этот кусок кода:IntParse к TryParse

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

в код TryParse. Нужен ли мне улов (Исключение)?

+0

По моему опыту, если вам нужно спросить, да. Убедитесь, что вы правильно справляетесь с этим делом, или вообще не обращаетесь с ним. – Neil

+3

TryParse не будет бросать, он возвращает false, если синтаксический анализ не сработал **, но ** в блоке try намного больше, чем в синтаксическом анализе ... Например. все работы БД также могут генерировать исключения. В настоящее время любые проблемы с запросом или соединением полностью игнорируются, что кажется неразумным. –

ответ

0

Метод TryParse сам по себе не требует catch. Но в вашем коде есть много других вызовов. Если у вас есть Int типа столбца в БД я рекомендую вам использовать значение непосредственно:

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

Поскольку преобразование в строку, а затем из строки дополнительная работа.

 Смежные вопросы

  • Нет связанных вопросов^_^