Исключение с System.Drawing.Image

Эй, ребята, я получаю исключение на следующие

внутреннее исключение: {"Значение не может быть нулевым. \ r \ nИмя параметра: строка"}

Который читается как простое сообщение об ошибке, но ни одно из значений (image, fileName) не имеет значения null. Как я могу узнать, где находится эта нулевая строка?

RipHelper.UploadImage(image, fileName);

какие звонки

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

Вот полный журнал ошибок

#

System.ArgumentNullException: значение не может быть нулевым. Имя параметра: String в System.Number.StringToNumber (String str, параметры NumberStyles, NumberBuffer & number, информация NumberFormatInfo, логический parseDecimal) в System.Number.ParseInt32 (строка String, стиль NumberStyles, информация NumberFormatInfo) в System.Int32.Parse (String (String) s) в Helpers.RipHelper..cctor () в C: \ Helpers \ RipHelper.cs: строка 23 --- Конец внутренней трассировки стека исключений --- в Helpers.RipHelper.UploadImage (HttpPostedFile uploadFile, String fileName) в Helpers .UploadHelper.UploadImage (контекст HttpContext) в C: \ Helpers \ UploadHelper.cs: строка 79

12.12.2008 15:54:59
Опубликовать код для Helpers.RipHelper
Austin Salonen 12.12.2008 16:03:19
5 ОТВЕТОВ
РЕШЕНИЕ

Исключение составляет статический конструктор класса Helpers.RipHelper в строке 23 файла RipHelper.cs. Эта строка вызывает Int32.Parse, передавая нулевое значение.

Возможно, статический конструктор ссылается на статическое поле, которое еще не было инициализировано. Если у вас возникли проблемы с отладкой, опубликуйте код класса, включая статический конструктор и любые инициализаторы полей.

3
12.12.2008 15:59:56
Крысы, избитые на 47 секунд;)
Jon Skeet 12.12.2008 16:01:06
«Крысы, избитые на 47 секунд» - эй, не жадничай :)
Joe 12.12.2008 16:09:38

Ошибка происходит в статическом конструкторе класса RipHelper.

1
12.12.2008 16:00:57
Или инициализатор статической переменной. В любом случае это в строке 23 :)
Jon Skeet 12.12.2008 16:01:44
«Или инициализатор статической переменной», - нет в трассировке, говорит RipHelper..cctor, который является статическим конструктором
Joe 12.12.2008 16:08:46

Строка 23 RipHelper пытается преобразовать нулевую строку в целое число, и терпит неудачу. Это, вероятно, в конструкторе или статическом инициализаторе. У вас есть доступ к исходному коду RipHelper?

1
12.12.2008 16:01:08

.Cctor () звучит так, как будто у вас есть проблема в конструкторе вашего класса RipHelper. Можете ли вы пройтись по коду в режиме отладки и посмотреть, какая строка на самом деле выдает исключение?

1
12.12.2008 16:04:28

Спасибо, парни. Извлеченный урок «Обратите больше внимания на журнал ошибок». Здесь виновник

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

PreviewImageHeight был опечаткой в ​​конфиге.

0
12.12.2008 16:10:38