【问题标题】:Exception with System.Drawing.ImageSystem.Drawing.Image 异常
【发布时间】:2008-12-12 15:54:59
【问题描述】:

大家好,我在下面遇到了一个例外

内部异常:{"Value cannot be null.\r\nParameter name: String"}

读起来像是一条简单的错误消息,但没有一个值(图像、文件名)为空。我怎样才能找出这个空字符串在哪里?

RipHelper.UploadImage(image, fileName);

哪个调用

public static void UploadImage(System.Drawing.Image image, string fileName)
        {
// this line is never reached
         }

这是完整的错误日志

#

System.ArgumentNullException:值不能为空。 参数名称:字符串 在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) 在 System.Number.ParseInt32(String s,NumberStyles 样式,NumberFormatInfo 信息) 在 System.Int32.Parse(String s) 在 C:\Helpers\RipHelper.cs:line 23 中的 Helpers.RipHelper..cctor() --- 内部异常堆栈跟踪结束 --- 在 Helpers.RipHelper.UploadImage(HttpPostedFile uploadFile,字符串文件名) 在 C:\Helpers\UploadHelper.cs:line 79 中的 Helpers.UploadHelper.UploadImage(HttpContext context) 处

【问题讨论】:

  • 发布 Helpers.RipHelper 的代码

标签: c# exception


【解决方案1】:

例外是在类 Helpers.RipHelper 的静态构造函数中,位于 RipHelper.cs 的第 23 行。这一行正在调用 Int32.Parse,传递一个空值。

也许静态构造函数引用了一个尚未初始化的静态字段。如果您在调试时遇到问题,请发布类的代码,包括静态构造函数和任何字段初始值设定项。

【讨论】:

  • 老鼠,被打败了 47 秒 ;)
  • “老鼠,被打败了 47 秒”——嘿,别贪心 :)
【解决方案2】:

RipHelper 类的静态构造函数出现错误。

【讨论】:

  • 或静态变量初始化器。无论哪种方式,它都在第 23 行 :)
  • “或静态变量初始化器” - 没有跟踪显示 RipHelper..cctor,它是静态构造函数
【解决方案3】:

RipHelper 第 23 行试图将空字符串转换为整数,但失败了。这可能在构造函数或静态初始化程序中。您可以访问 RipHelper 源代码吗?

【讨论】:

    【解决方案4】:

    .cctor() 听起来好像你的 RipHelper 类的构造函数有问题。你能在调试模式下单步调试代码,看看是哪一行实际抛出了异常吗?

    【讨论】:

      【解决方案5】:

      谢谢各位。经验教训“更加注意错误日志”。这是罪魁祸首

      private static readonly int previewImageHeight = int.Parse(ConfigurationManager.AppSettings["PreviewImageHeight"]);
      

      PreviewImageHeight 在配置中拼写错误。

      【讨论】:

        猜你喜欢
        • 2016-07-27
        • 2010-10-12
        • 1970-01-01
        • 2016-02-13
        • 2012-08-05
        • 1970-01-01
        • 2017-10-26
        • 2023-04-02
        • 2022-11-18
        相关资源
        最近更新 更多