В моем приложении, у меня есть следующие строки:Лучший способ обработки Convert failures?
double val = Convert.ToDouble(values8[x]) + 24837;
Если values8[x]
не может быть преобразован в Double
аварий приложение с ошибкой Input string was not in a correct format
.
Как проверить это и установить val
на DBNull.Value
, если преобразование не выполнено? С помощью try/catch? Будет ли что-то подобное приемлемым?
EDIT: Вот что я пытаюсь сделать
try
{
double val = Convert.ToDouble(values8[x]) + 24837;
com.Parameters.Add("@p1", OleDbType.Date, 255).Value = DateTime.FromOADate(val);
}
catch (exception e)
{
com.Parameters.Add("@p1", OleDbType.Date, 255).Value = DBNull.Value;
}
edit2: TryParse
является то, что я искал.
http://msdn.microsoft.com/en-us/library/system.double.tryparse.aspx – Leri
'values8 [x]' звучит как кодовый запах для меня. Создайте правильную модель данных, пожалуйста. –
Существуют различные методы '.TryParse'. – Arran