首页 > 解决方案 > 如何处理异常 C#?

问题描述

我正在尝试将字符串转换为 NULL,以便它可以由 MySQL 处理。但是,我得到“无法将字符串转换为双精度”。我想抛出一个异常,这样我就可以处理输入的任何字符串,可以这样做吗?

try
{
    Double dDate = Convert.ToDouble(cellData);
    DateTime dt = DateTime.FromOADate(dDate);
    cellString = dt.ToString("yyyy-MM-dd");
    if (cellString.Length == 0)
        cellString = "NULL";
    else
        cellString = "'" + MySqlHelper.EscapeString(cellString) +         "'";

   // throw new EncoderFallbackException("Testing 123");
}
catch (InvalidCastException)
{
    cellString = "NULL";
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK,       MessageBoxIcon.Error);
    oWorkbook.Close();
    m_iSystemOk = false;
    return bResult;
}

更新在对答案的OP评论之后

这是如何cellData定义的:

var cellData = oWorksheet.Cells[row, col].Value2;
string cellString = "";

if (cellData != null)
{
    if (col == 6 || col == 9 || col == 10)
    {
        try (code continues as above statement)

标签: stringexceptionnulldouble

解决方案


我有错误的例外。更改为 catch (FormatException) 及其工作


推荐阅读